为了账号安全,请及时绑定邮箱和手机立即绑定

如何将for循环与print语句结合使用

如何将for循环与print语句结合使用

倚天杖 2021-09-28 15:19:10
我有一个矩阵(我没有使用 numpy):matrix = [           ['.', '.', '.', '.', '.', '.', '.'],['.', '.', '.', '.', '.', '.', '.'],['.', '.', '.', '.', '.', '.', '.'],['.', '.', '.', '.', '.', '.', '.'],['.', '.', '.', '.', '.', '.', '.'],['.', '.', '.', '.', '.', '.', '.'],['.', '.', '.', '.', '.', '.', '.'],   ]我想编写一个函数,以表格形式打印这个矩阵,以便 print(function(matrix)) 显示:. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .或任何值特定的“。” 在我的整个程序中都被替换了。目前我有:def printMatrix(matrix):    for i in matrix:           print(' '.join(i))但是,每次打印我的矩阵时,这只会返回 None ,因为我没有给函数任何返回值。我如何避免这种情况?
查看完整描述

3 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

您的函数已经进行了打印,print()调用它时无需使用。所以改变:


print(printMatrix(matrix))

只是:


printMatrix(matrix)

仅为副作用而调用的函数不需要返回任何内容,并且您不应尝试使用返回值。


或者,您可以更改函数,使其以字符串形式返回格式化矩阵,而不是自行打印:


def formatMatrix(matrix):

    return "\n".join(" ".join(row) for row in matrix)


print(formatMatrix(matrix))


查看完整回答
反对 回复 2021-09-28
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

matrix = [           

['.', '.', '.', '.', '.', '.', '.'],

['.', '.', '.', '.', '.', '.', '.'],

['.', '.', '.', '.', '.', '.', '.'],

['.', '.', '.', '.', '.', '.', '.'],

['.', '.', '.', '.', '.', '.', '.'],

['.', '.', '.', '.', '.', '.', '.'],

['.', '.', '.', '.', '.', '.', '.'],   

]


for line in matrix:

    print(*line, sep=' ')



. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .


查看完整回答
反对 回复 2021-09-28
?
HUWWW

TA贡献1874条经验 获得超12个赞

或进行printMatrix以下操作:


def printMatrix(matrix):

    s=''

    for i in matrix:   

        s += (' '.join(i)+'\n')

    return s

现在您的代码将按预期工作。


查看完整回答
反对 回复 2021-09-28
  • 3 回答
  • 0 关注
  • 338 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信