如何在Python中使用for迭代器作为函数参数



我试图调用一个根据用户输入创建矩阵的函数,但它说我还没有定义什么。

lstA = []
lstB = []
lstC = []
def get_list(data):
lst = []
for i in range(4):
aux = []
for j in range(4):
aux.append(data)
lst.append(aux)
return lst
lstA = get_list(int(input(f'A i[{i}] j[{j}]: ')))
lstB = get_list(int(input(f'B i[{i}] j[{j}]: ')))
lstC = get_list(lstA[i][j] + lstB[i][j])

程序应该从用户那里获取两个4x4矩阵,将每个通知的数字放入lstA[i][j]lstB[i][j]中。

最后,使用lstCAB求和。

错误消息:

Traceback (most recent call last):
File "<string>", line 13, in <module>
NameError: name 'i' is not defined
[Program finished]

我该如何解决这个问题?

要将数据读取到矩阵中,请生成如下函数:

def get_lst():
mat = [[]] * 4
for i in range(4):
mat[i] = [0] * 4
for j in range(4):
mat[i][j] = int(input(f'mat[{i}][{j}]: '))
return mat

此函数将要求用户输入矩阵的每个元素,并用用户输入的内容填充该位置。

现在这就是你如何使用它:

lstA = get_lst()
lstB = get_list()

关于矩阵元素的求和,请参考以下答案

最新更新