我想實現Naive Gauss並在執行時獲得不支持的操作數類型錯誤。 輸出:TypeError:不支持的操作數類型爲 - :'list'和'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'
>>>
這是代碼
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]])
這是你的問題線:'b [row] = b [row] -xmult * b [column]'row是一個列表,而b [column]是一個列表,所以你試着從另一個列表中減去一個列表,(錯誤輸出告訴你)不是受支持的操作。 – 2014-11-01 02:24:21
謝謝@JonKiparsky,這真的有幫助 – Ledruid 2014-11-06 06:31:15