如何在Python 2.7中分割兩個數字並獲得小數的結果?Python 2.7中的分區。和3.3
我不明白爲什麼有差別:
在Python 3:
>>> 20/15
1.3333333333333333
在Python 2:
>>> 20/15
1
這不是一個模實際?
如何在Python 2.7中分割兩個數字並獲得小數的結果?Python 2.7中的分區。和3.3
我不明白爲什麼有差別:
在Python 3:
>>> 20/15
1.3333333333333333
在Python 2:
>>> 20/15
1
這不是一個模實際?
在Python 2.7版中,/
運營商是整數除法,如果輸入都是整數。
如果你想漂浮師(這是我一直喜歡的),只是用這種特殊的進口:
from __future__ import division
見這裏:
>>> 3/2
1
>>> from __future__ import division
>>> 3/2
1.5
>>>
整數除法是通過使用//
實現,並用%
>>> 3 % 2
1
>>> 3 // 1
3
>>>
編輯
如註釋user2357112
,此導入必須在任何其他正常導入之前完成。
值得注意的是,未來的陳述必須出現在模塊中的任何其他代碼之前,尤其是在非將來的進口之前。另外,'import __future__'不起作用。 – user2357112
不錯。使用'__future__'幾乎總是建議的方式 – woozyking
謝謝!我也一直比較喜歡float分區:) – Erzsebet
在Python 3 /
是浮除法
在Python 2,/
是整數除法(假設int
輸入)
在這兩個2 和 3,//
是整數除法
(爲了在Python 2中進行浮點除法,需要兩個操作數中的一個爲浮點數,如20.
或float(20)
)
在Python 2.x中,確保在float
中至少有一個您的分區的操作數。多種方法可以實現這一目標如下面的例子:
20./15
20/float(15)
「/」是Python 2中的整數除法,因此它將四捨五入爲整數。如果您想返回小數,只是改變一個輸入的類型爲float:
float(20)/15 #1.33333333
這是整數除法,喲! '20 mod 15 == 5' –
嘗試'浮動(20)/浮動(15)' – dumbledad
或浮動20/15。 – Tbb