首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将for循环与print语句结合使用

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

Stack Overflow用户
提问于 2018-12-28 22:18:46
回答 5查看 88关注 0票数 0

我有一个矩阵(我不使用numpy):

代码语言:javascript
复制
matrix = [           
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],   
]

我想写一个函数,它以表格的形式打印这个矩阵,以便打印(函数(矩阵))显示:

代码语言:javascript
复制
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .

或任何特定的“价值”。在我整个节目中都被取代了。

目前我有:

代码语言:javascript
复制
def printMatrix(matrix):
    for i in matrix:   
        print(' '.join(i))

但是,每次打印我的矩阵时,它都不会返回任何内容,因为我没有给函数任何可返回的内容。我怎么才能避免这种情况?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-12-28 22:24:03

您的函数已经完成了打印,在调用它时不需要使用print()。因此,改变:

代码语言:javascript
复制
print(printMatrix(matrix))

只想:

代码语言:javascript
复制
printMatrix(matrix)

只为副作用调用的函数不需要返回任何内容,也不应该尝试使用返回的值。

或者,您可以更改该函数,以便它将格式化的矩阵作为字符串返回,而不是单独打印:

代码语言:javascript
复制
def formatMatrix(matrix):
    return "\n".join(" ".join(row) for row in matrix)

print(formatMatrix(matrix))
票数 4
EN

Stack Overflow用户

发布于 2018-12-28 22:24:06

代码语言:javascript
复制
matrix = [           
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],   
]

for line in matrix:
    print(*line, sep=' ')


. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
票数 1
EN

Stack Overflow用户

发布于 2018-12-28 22:25:24

我不太明白你在问题的第一部分问了什么。但第二部分很简单。您给出的例子是2D数组。

代码语言:javascript
复制
for row in matrix:
    for r in row:
        print(r, end=" ")
    print ("\n")

代码语言:javascript
复制
def printmatrix (matrix):
    for row in matrix:
        for r in row:
            print(r, end=" ")
        print ("\n")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53964871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档