python2.x存在有两种除法 第一,x、y都是整型,运算按整除进行,如1/2=0;x、y其一为浮点型,就会进行所谓的true除法(我也不懂),1.0/2=0.5,1/2.0=0.5,1.0/2.0=0.5。 第二,float除法即得到不大于结果的最大整数值,这个 运算时与操作数无关的。比如,1//2=0,1.0//2=0.0,-1//2=-1,-1.0//2=-1.0,1.0//2.0=0.0 python3.x:x/y只存在true除法,1/2=0.5,-1/2=-0.5。x//y则如下,1//2=0,-1//2=-1
在代码前加入from future import division,如下: 1/2=0 1//2=0 from future import division 1/2=0.5 导入精确除法后,若要执行截断除法,可以使用"//"操作符: 1//2=0
参考:http://www.cnblogs.com/feixingfei/archive/2011/12/18/2297596.html http://blog.sina.com.cn/s/blog_6f07b6eb0100oi4l.html
python2.x:round(1.0/2.0)=1.0 python3.x:round(1.0/2.0)=0
这是很无门的东西,我也是拿来打发时间。有不当或不准确的地方多多指点