因此,我正在构建一个没有NumPy的矩阵计算器,我有一个有限但有效的模型。然而,这个模型非常粗糙,我想对它进行改进,并扩展它的功能,以便能够计算多个矩阵并相互作用(例如乘法)。你知道吗
我在Python方面的经验非常有限,很快就遇到了一个问题,那就是在多个函数(我相信它们是被调用的参数)之间传递变量。以下是我所拥有的:
def matrixGenerator1():
rows = int(input("\nHow many rows are in the matrix?\n\n:"))
columns = int(input("\nHow many columns are in the matrix?\n\n:"))
matrix1 = [[0 for x in range(columns)] for y in range(rows)]
for y in range(rows):
for x in range(columns):
matrix1[y][x] = int(input("\nWhat is the entry?\n\n:"))
print("\nThe original matrix is...")
for y in range(rows):
print("\n")
for x in range(columns):
print(format(matrix1[y][x], "5d"), end="")
return rows, columns, matrix1
def matrixTranspose(rows, columns, matrix1):
print("\nThe transpose of this matrix is...")
for y in range(rows):
print("\n")
for x in range(columns):
print(format(matrix1[y][x], "5d"), end="")
matrixGenerator1()
matrixTranspose(rows, columns, matrix1)
运行此操作将导致一条错误消息,指出未定义rows
、columns
和matrix1
。我意识到这些变量是matrixGenerator
函数的局部变量,而强制它们是全局变量并不是我想要接受的选择。你知道吗
有没有人能给我一个大概的解释,说明我做错了什么,这样我以后就可以避免这个错误了?你知道吗
您需要将第一个函数的输出保存在主例程中。(请注意,您已经将其退回,因此您几乎完成了):
相关问题 更多 >
编程相关推荐