它們對於小數字似乎是相等的,但對於大數字則不同。a // b和int(a/b)之間有什麼區別?
例如:
a = int(1267650600228229401496703205376/10)
b = 1267650600228229401496703205376 // 10
print(a - b) # prints 7036874417767
a = int(1493845793475/10)
b = 1493845793475 // 10
print(a - b) # prints 0
怎麼來的?
'INT(A/B)'被截斷向零。 –
在Python3中,'a/b'將執行浮點除法,這是不精確的。即使您將結果轉換爲int,您也已經引入了不精確性。 – khelwood
這僅適用於Python 3.對於Python 2,它在兩種情況下均爲0。 –