为什么Python返回0进行简单的除法运算?
为什么这个简单的计算返回0
>>> 25/100*50 0
而这实际上计算正确?
>>> .25*50 12.5 >>> 10/2*2 10
第一个例子有什么问题?
在Python 2中,执行整数25/100时, 25/100为零。 因为结果小于1 。
您可以通过from __future__ import division添加到您的脚本来“解决”这个问题。 这将始终使用/运算符执行浮点除法,并使用/整数除法。
另一种select是使至less一个操作数为浮点数,例如25.0/100 。
在Python 3中, 25/100总是0.25 。
这是整数截断的问题(即,数字的任何小数部分被丢弃)。 所以:
25 / 100给出0
但是,只要分区中至less有一个操作数是浮点数,就会得到一个浮点数结果:
25 / 100.0或25.0 / 100或25.0 / 100.0均为0.25
25/100是一个整数计算, 25/100 (截断)为0 。