[英]Code academy python "Battleship" - why is "none" printing after my grid?
这是一个快手。 任务是构建一个“战舰”风格的 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)
我猜你实际上是在做:
print print_board(board)
None
是因为您的函数不返回任何内容。 您可以在print '---'.join(row)
但在for
循环之外的print '---'.join(row)
下添加return 1
并再次执行以查看会发生什么。
[编辑] - 这个答案假设使用了 python 解释器。
我越来越
>>>
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
>>>
哪个看起来是对的? 您拥有的代码似乎是正确的,没有额外的无打印。
因为在 Codeacademy 网站上,它会自动在代码输出的末尾添加“无”,以表明没有错误。
它在所有 Python 教程中都这样做。
我刚刚在 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.