我应该在codecademy论坛上提出这个问题,但是一天可能会问的问题数量有限。如果你想回答,我将不胜感激:
您好,
我编写此代码的目的是显示所需的5x5战斗网格
预期网格应如下所示:
['O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O']
我的代码显示的输出是:
[['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O']]
None
我无法自己纠正这个错误。我希望输出正确显示。我不知道在哪里放置换行符以正确显示此网格。系统正在说明一条路,但实际上输出根本没有正确显示:
board = []
#for j in range(0,5):
for i in range(0,5):
board.append(["O"]*5)
#board.append("O")
print board
感谢您抽出宝贵时间作出回应,感谢您的努力。
答案 0 :(得分:0)
当你在Python中打印出一个嵌套列表时,它就会出现在一行上。
每行打印一个列表,循环浏览它们,以便每个列表都在自己的行上。
for row in board:
print(row)
答案 1 :(得分:0)
你必须迭代你的棋盘中的列表,并在这样的时间打印它们一行(即一个列表):
for item in board:
print (item)
答案 2 :(得分:0)
你似乎正在使用Python 2.因此,我建议你做什么,如果你想在你的循环之外打印你的列表,你尝试这样做的方式。这样做:
>>> from __future__ import print_function
>>> print(*board, sep="\n")
['O', 'O', 'O', 'O', 'O']
['O', 'O', 'O', 'O', 'O']
['O', 'O', 'O', 'O', 'O']
['O', 'O', 'O', 'O', 'O']
['O', 'O', 'O', 'O', 'O']
如果您使用的是Python 3,则无需从__future__
导入。您只需使用print(*board, sep="\n")
即可。
完整演示:
In [5]: from __future__ import print_function
In [6]:
In [6]: board = []
In [7]: for i in range(0,5):
...:
...: board.append(["O"]*5)
...:
In [8]: print(*board, sep="\n")
['O', 'O', 'O', 'O', 'O']
['O', 'O', 'O', 'O', 'O']
['O', 'O', 'O', 'O', 'O']
['O', 'O', 'O', 'O', 'O']
['O', 'O', 'O', 'O', 'O']