为什么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.025.0 / 10025.0 / 100.0均为0.25

25/100是一个整数计算, 25/100 (截断)为0