Python - 计算值始终为0.0

时间:2015-12-13 23:02:57

标签: python python-2.7

我有一个基本循环如下:

for x in range(81,346):
    print float(((x - 81)/(346-81))*100)
    # DO STUFF

问题是,对于所有值,我得到的输出是0.0。我检查了x-81是否给出了正确的输出。我还将346-81替换为265。但由于某种原因,所有输出都以0.0给出 关于出了什么问题的任何建议?

2 个答案:

答案 0 :(得分:4)

您正在执行整数除法。将81更改为81.0或将分子或分母转换为float

答案 1 :(得分:3)

Python 2对整数使用整数除法。这是一个坏主意,Python 3修复了它。要从 future 获得(更好)的行为,请将其放在py文件的开头:

from __future__ import division