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
>>>
添加回答
举报