所以,我制作了一个程序来计算Matrix加法,Matrix约简和Matrix乘法的总数,但出现错误
matrix = []
matrix2 = []
matrix3 = []
kali = []
kali2 = []
wrong = 0
print("matrix A : ")
for i in range(2):
A = []
for j in range(2):
A.append(int(input()))
matrix.append(A)
print("Matrix A : ")
for i in range(2):
for j in range(2):
print(matrix[i][j], end = " ")
print()
print()
print()
print("matrix B : ")
for i in range(2):
B = []
for j in range(2):
B.append(int(input()))
matrix2.append(B)
print("Matrix B : ")
for i in range(2):
for j in range(2):
print(matrix2[i][j], end = " ")
print()
print()
print()
print("matrix C : ")
for i in range(2):
C = []
for j in range(2):
C.append(int(input()))
matrix3.append(C)
print("Matrix C : ")
for i in range(2):
for j in range(2):
print(matrix3[i][j], end = " ")
print()
print()
print()
while wrong < 1:
choose = (str(input("(+/-/*)? : ")))
if choose == "+":
print("result : ")
for i in range(2):
for j in range(2):
print(A[i][j]+B[i][j]+C[i][j], end = " ")
print()
wrong = 0
elif choose == "-":
print("result : ")
for i in range(2):
for j in range(2):
print(A[i][j]-B[i][j]-C[i][j], end = " ")
print()
wrong = 0
elif choose == "*":
print('temp')
else:
print("error")
wrong = 1
我在输入数组后输入+,然后得到了
回溯(最近通话最近):
中的文件“ main.py”,第65行
print(A [i] [j] + B [i] [j] + C [i] [j],end =“”)
TypeError:“ int”对象不可下标
我试图制作一个新变量并将其更改为str,但是它不起作用
totalsum = A[i][j]+B[i][j]+C[i][j]
totalsum = str(totalsum)
print (totalsum)
我知道了
回溯(最近通话最近):
中的文件“ main.py”,第65行
总和= A [i] [j] + B [i] [j] + C [i] [j]
TypeError:“ int”对象不可下标
还是一样
请帮助我
答案 0 :(得分:0)
如果查看定义A的位置以及如何向其中添加输入,您会注意到,您只是在逐个附加整数。因此,我想像的不是A看起来像[[a,b],[c,d]],而是[a,b,c,d]。您可以改为执行类似Aprime.append(int(input())的操作,然后在J的初始化循环之后将Aprime附加到A。
答案 1 :(得分:0)
totalsum = A[i][j]+B[i][j]+C[i][j]
???
是不是应该这样:
matrix[i][j]+matrix2[i][j]+matrix3[i][j]
答案 2 :(得分:0)
我尝试制作一个新变量并将其更改为str,但它不起作用
totalsum = A[i][j]+B[i][j]+C[i][j]
totalsum = str(totalsum)
print (totalsum)
我建议在不首先了解导致问题的原因之前,不要尝试猜测解决方案。一种简单但经常有效的方法是在野外行之前print
,那就是您可以执行以下操作:
print(A)
print(B)
print(C)
直接位于totalsum = A[i][j]+B[i][j]+C[i][j]
之前,这应该表明实际上A
,B
,C
是矩阵的最后一行,仅等于矩阵的list
数字,通过执行A[i][j]
,您试图获得第j
个元素的第i
个元素,实际上是没有意义的第j
个数字元素。