Erz*_*bet 62 python division python-2.7 python-3.3
如何在Python 2.7中分割两个数字并获得带小数的结果?
我不明白为什么有区别:
在Python 3中:
>>> 20/15
1.3333333333333333
Run Code Online (Sandbox Code Playgroud)
在Python 2中:
>>> 20/15
1
Run Code Online (Sandbox Code Playgroud)
这不是一个模数吗?
bgu*_*ach 103
在python 2.7中,/如果输入是整数,则运算符是整数除法.
如果你想要浮点除法(我总是喜欢它),只需使用这个特殊的导入:
from __future__ import division
Run Code Online (Sandbox Code Playgroud)
在这里看到:
>>> 7 / 2
3
>>> from __future__ import division
>>> 7 / 2
3.5
>>>
Run Code Online (Sandbox Code Playgroud)
整数除法是通过使用//和模数来实现的%
>>> 7 % 2
1
>>> 7 // 2
3
>>>
Run Code Online (Sandbox Code Playgroud)
编辑
如上所述user2357112,此导入必须在任何其他正常导入之前完成.
mhl*_*ter 42
在Python 3中,/是浮动除法
在Python 2中,/是整数除法(假设int输入)
在2 和 3中,//是整数除法
(要在Python 2中获得浮点除法,要求其中一个操作数为浮点数,或者为20.或者float(20))
woo*_*ing 14
在Python 2.x中,确保至少有一个分区的操作数float.您可以通过以下示例实现此目的的多种方式:
20. / 15
20 / float(15)
Run Code Online (Sandbox Code Playgroud)