[英]Integer division in Python 2 and Python 3
如何在 Python 2.7 中將兩個數字相除並得到小數的結果?
我不明白為什么會有區別:
在 Python 3 中:
>>> 20/15
1.3333333333333333
在 Python 2 中:
>>> 20/15
1
這實際上不是模數嗎?
在 Python 2.7 中,如果輸入是整數,則/
運算符是整數除法。
如果你想要浮點除法(這是我一直喜歡的),只需使用這個特殊的導入:
from __future__ import division
在這里看到它:
>>> 7 / 2
3
>>> from __future__ import division
>>> 7 / 2
3.5
>>>
整數除法是使用//
實現的,模數是使用%
實現的:
>>> 7 % 2
1
>>> 7 // 2
3
>>>
正如user2357112
所評論的,此導入必須在任何其他正常導入之前完成。
在 Python 3 中, /
是浮點除法
在 Python 2 中, /
是整數除法(假設int
輸入)
在 2和3 中, //
都是整數除法
(要在 Python 2 中獲得浮點除法,需要任一操作數為浮點數,如20.
或float(20)
)
在 Python 2.x 中,請確保在float
中至少有一個除法操作數。 您可以通過多種方式實現此目的,例如以下示例:
20. / 15
20 / float(15)
“/”在 Python 2 中是整數除法,所以它會四舍五入到整數。 如果您想返回小數,只需將其中一個輸入的類型更改為浮點數:
float(20)/15 #1.33333333
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.