4 回答

TA貢獻1824條經驗 獲得超8個贊
在Python 2.x中,默認除法運算符為“經典除法”。這意味著/,當與整數運算符一起使用時,將導致類似于C ++或java [ie 4/3 = 1]的整數除法。
在Python 3.x中,這已更改。在那里,/指的是“真實劃分” [ 4/3 = 1.3333..],而//用于請求“經典/地板劃分”。
如果要在Python 2.7中啟用“真除法”,則可以from __future__ import division在代碼中使用。
資料來源:PEP 238
例如:
>>> 4/3
1
>>> 4//3
1
>>> from __future__ import division
>>> 4/3
1.3333333333333333
>>> 4//3
1

TA貢獻2080條經驗 獲得超4個贊
發生差異的情況是Python 3.x。在Python 3.0中,7 / 2將返回3.5,并且7 // 2將返回3。運算符/為floating point division,運算符//為floor division或integer division。
但是,如果Python 2.x沒有任何區別,并且我相信文本是錯誤的,那么這里就是我得到的輸出。
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on
win32
Type "copyright", "credits" or "license()" for more information.
>>> 4/2
2
>>> 2/4
0
>>> 5//4
1
>>> 2//4
0
>>>
添加回答
舉報