Tôi đang cố gắng triển khai Naive Gauss và nhận được lỗi loại toán hạng không được hỗ trợ khi thực hiện. Output:LoạiError: loại toán hạng không được hỗ trợ (s) cho -: 'list' và 'list'
execfile(filename, namespace)
File "/media/zax/MYLINUXLIVE/A0N-.py", line 26, in <module>
print Naive_Gauss([[2,3],[4,5]],[[6],[7]])
File "/media/zax/MYLINUXLIVE/A0N-.py", line 20, in Naive_Gauss
b[row] = b[row]-xmult*b[column]
TypeError: unsupported operand type(s) for -: 'list' and 'list'
>>>
Đây là mã
def Naive_Gauss(Array,b):
n = len(Array)
for column in xrange(n-1):
for row in xrange(column+1, n):
xmult = Array[row][column]/Array[column][column]
Array[row][column] = xmult
#print Array[row][col]
for col in xrange(0, n):
Array[row][col] = Array[row][col] - xmult*Array[column][col]
b[row] = b[row]-xmult*b[column]
print Array
print b
print Naive_Gauss([[2,3],[4,5]],[[6],[7]])
Đây là dòng sự cố của bạn: 'b [hàng] = b [hàng] -xmult * b [cột]' hàng là danh sách và b [cột] là danh sách, vì vậy bạn đang cố gắng để trừ một danh sách từ một danh sách khác, mà (như đầu ra lỗi cho bạn biết) không phải là một hoạt động được hỗ trợ. –
Cảm ơn @JonKiparsky, điều đó thực sự hữu ích – Ledruid