[英]rows in battleship 5x5 grid not displaying accurately
我應該在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
感謝您抽出寶貴的時間回復,非常感謝您的努力。
當您在Python中打印出嵌套列表時,它們全部都顯示在一行上。
每行打印一個列表,以循環瀏覽它們,以便使每個列表位於其自己的行上。
for row in board:
print(row)
您必須迭代電路板上的列表,並一次將它們打印成一行(即一個列表),如下所示:
for item in board:
print (item)
您似乎正在使用Python2。因此,如果您想在循環之外打印列表,則我建議您這樣做。 做這個:
>>> 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']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.