这是一个快速的。任务是建立战舰" 0的样式网格。我的问题是:为什么"没有"我的网格打印后打印?我可以轻松完成任务,但是因为我这样做是为了学习代码,我想我会问。谢谢!
board = []
for x in range(5):
board.append(["O"] * 5)
def print_board(board):
for row in board:
print '---'.join(row)
print_board(board)
答案 0 :(得分:3)
我猜你实际上在做:
print print_board(board)
None
是因为你的函数没有返回任何内容。您可以在return 1
行之外添加print '---'.join(row)
,但在for
循环之外,然后再次执行以查看会发生什么。
[编辑] - 这个答案假设使用了python解释器。
答案 1 :(得分:2)
我正在
>>>
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
>>>
哪个似乎是对的?您拥有的代码似乎是正确的,没有额外的无打印。
答案 2 :(得分:1)
因为在Codeacademy网站上,它会自动在代码输出的末尾添加“无”,以表明没有错误。
它在所有Python教程中都这样做。
答案 3 :(得分:1)
我刚刚在Codecademy上为自己做了这个模块。我明白为什么你感到困惑,说明很混乱。
他们真的希望你这样做:
board = []
for x in range(0, 5):
board.append(["O"] * 5)
def print_board(board):
for row in board:
print " ".join(row)
"---".join(row)
是一个示例,向您展示如何使用字符连接。然后左侧的说明会要求您在示例中使用" ".join(row)
。
Codecademy在每个输出的末尾自动打印None
,没有明显的理由,如果您使用" ".join(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
None