Python 战列舰5x5网格中的行显示不准确
我应该在codecademy论坛上问这个问题,但是一天内可以问的问题数量是有限的。如果您愿意回答,我将不胜感激: 你好, 我编写这段代码的目的是显示所需的5x5 batleship网格 预期的网格应如下所示:Python 战列舰5x5网格中的行显示不准确,python,printing,grid,Python,Printing,Grid,我应该在codecademy论坛上问这个问题,但是一天内可以问的问题数量是有限的。如果您愿意回答,我将不胜感激: 你好, 我编写这段代码的目的是显示所需的5x5 batleship网格 预期的网格应如下所示: ['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'] for item i
['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']
for item in board:
print (item)
我的代码显示的输出为:
[['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
感谢您花时间回复,我非常感谢您的努力。当您用Python打印嵌套列表时,所有内容都在一行中显示出来 每行打印一个列表,以便循环遍历它们,使每个列表在其自己的行上打印
for row in board:
print(row)
您必须在电路板中迭代列表,并一次打印一行(即一个列表),如下所示:
['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']
for item in board:
print (item)
您似乎正在使用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,则不需要从\uuuuu future\uuuuu
导入。您只需使用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']
谢谢,我很感激这是一个小问题,因为这是一个小问题,但是记住,如果他们将来帮助你,请投票/接受答案^_^