Python 战列舰5x5网格中的行显示不准确

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

我应该在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 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']

谢谢,我很感激这是一个小问题,因为这是一个小问题,但是记住,如果他们将来帮助你,请投票/接受答案^_^