正如你可以看到手錶,l[u][0]
必須0.5
,但它返回0
錯誤除以蟒蛇
u = 0
for j in range(n):
if k == j:
continue
l[u][0] = -x[j]/(x[k] - x[j])
l[u][1] = 1/(x[k] - x[j])
u = u + 1
這有什麼錯呢?
正如你可以看到手錶,l[u][0]
必須0.5
,但它返回0
錯誤除以蟒蛇
u = 0
for j in range(n):
if k == j:
continue
l[u][0] = -x[j]/(x[k] - x[j])
l[u][1] = 1/(x[k] - x[j])
u = u + 1
這有什麼錯呢?
該部門並非「錯誤」。它是整數分區(又名地板分區)。
當計算兩個整數的,其結果是一個整數:
>>> 3/4
0
>>> 4/4
1
當分隔兩個浮點數(帶有小數部分數),其結果是浮動:
>>> 3./4
0.75
>>> 4./4
1.0
請注意,這個「問題」被限制到Python 2.變化之一在Python 3是進行正常的分裂裹脅到浮動:
>>> 3/4 # Python 3 behavior
0.75
並要求第二運營商(也在Python> 2.2)來實現整數除法:
>>> 3//4
0
'from __future__ import division',將會啓用2.2+中的新行爲。 –
@ChrisWesseling好點。應該提到那個! –
整數除法。此外,請花時間將代碼鍵入(或複製)到您的問題中,而不是將某些圖像與代碼內部鏈接起來。 –
值得注意的是,在python3上,'1/2'默認情況下默認爲'0.5',如果沒有明確鑄造 – shaktimaan