矩阵计算器,无需向其他函数传递参数

2024-03-29 05:04:28 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我正在构建一个没有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)

运行此操作将导致一条错误消息,指出未定义rowscolumnsmatrix1。我意识到这些变量是matrixGenerator函数的局部变量,而强制它们是全局变量并不是我想要接受的选择。你知道吗

有没有人能给我一个大概的解释,说明我做错了什么,这样我以后就可以避免这个错误了?你知道吗


Tags: columnsthe函数in模型forinputis