【发布时间】:2018-12-28 22:18:46
【问题描述】:
我有一个矩阵(我没有使用 numpy):
matrix = [
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
]
我想编写一个函数,以表格形式打印此矩阵,以便 print(function(matrix)) 显示:
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
或任何特定的 '.' 值在我的整个程序中都被替换为。
目前我有:
def printMatrix(matrix):
for i in matrix:
print(' '.join(i))
但是,每次打印我的矩阵时,这只会返回 None ,因为我没有给函数返回任何东西。我该如何避免这种情况?
【问题讨论】:
-
函数在
return语句处结束,所以for循环只经过第一次迭代才返回。 -
return立即跳出函数。将return放在循环中是没有意义的。 -
为什么不在函数和循环中使用 print 构建函数呢?您当前使用 return 语句的方法行不通。
-
我认为您的意思是
yield而不是return。这仍然不会产生所需的输出,但该关键字的工作方式与您似乎期望的大致相同,并且它会提出一个更有趣(尽管已经回答)的问题。 -
为什么要关心函数返回什么?你调用它只是为了输出,你不需要返回值。
标签: python python-3.x function for-loop