python - 如何结合使用 for 循环和 print 语句
问题描述
我有一个矩阵(我没有使用 numpy):
matrix = [
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
]
我想编写一个以表格形式打印此矩阵的函数,以便 print(function(matrix)) 显示:
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
或任何特定的值。在我的整个程序中都被替换为。
目前我有:
def printMatrix(matrix):
for i in matrix:
print(' '.join(i))
但是,每次打印我的矩阵时,这只会返回 None ,因为我没有给函数任何返回值。我该如何避免这种情况?
解决方案
print()
您的函数已经完成打印,调用时无需使用。所以改变:
print(printMatrix(matrix))
只是:
printMatrix(matrix)
仅针对副作用调用的函数不需要返回任何内容,并且您不应该尝试使用返回的值。
或者,您可以更改函数,使其将格式化矩阵作为字符串返回,而不是自行打印:
def formatMatrix(matrix):
return "\n".join(" ".join(row) for row in matrix)
print(formatMatrix(matrix))
推荐阅读
- java - 当调用视图模型类尝试从空对象引用android MVVM Java上的字段'androidx.lifecycle.MutableLiveData读取
- javascript - 错误:找不到模块 VueJS 应用程序的声明文件
- javascript - 如何将组件存储在数组中并在需要时在 React 中渲染它们?
- python - Method Not Allowed 请求的 URL 不允许该方法
- python - 带有 PySimpleGUI 列表的窗口中的窗口
- python - Pytest,更改动态传递给标记的计数器
- python - ElementTree 编码错误
- python - 如何通过python在excel文件中查找缺失的日期
- python - Selenium 循环和迭代检查框
- python - Keras 张量流错误:ValueError:应定义“密集”输入的最后一个维度。找到`无`