我有一个矩阵(我不使用numpy):
matrix = [
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
]我想写一个函数,它以表格的形式打印这个矩阵,以便打印(函数(矩阵))显示:
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .或任何特定的“价值”。在我整个节目中都被取代了。
目前我有:
def printMatrix(matrix):
for i in matrix:
print(' '.join(i))但是,每次打印我的矩阵时,它都不会返回任何内容,因为我没有给函数任何可返回的内容。我怎么才能避免这种情况?
发布于 2018-12-28 22:24:03
您的函数已经完成了打印,在调用它时不需要使用print()。因此,改变:
print(printMatrix(matrix))只想:
printMatrix(matrix)只为副作用调用的函数不需要返回任何内容,也不应该尝试使用返回的值。
或者,您可以更改该函数,以便它将格式化的矩阵作为字符串返回,而不是单独打印:
def formatMatrix(matrix):
return "\n".join(" ".join(row) for row in matrix)
print(formatMatrix(matrix))发布于 2018-12-28 22:24:06
matrix = [
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.', '.', '.'],
]
for line in matrix:
print(*line, sep=' ')
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .发布于 2018-12-28 22:25:24
我不太明白你在问题的第一部分问了什么。但第二部分很简单。您给出的例子是2D数组。
码
for row in matrix:
for r in row:
print(r, end=" ")
print ("\n")或
def printmatrix (matrix):
for row in matrix:
for r in row:
print(r, end=" ")
print ("\n")https://stackoverflow.com/questions/53964871
复制相似问题