我有一个基本循环如下:
for x in range(81,346):
print float(((x - 81)/(346-81))*100)
# DO STUFF
问题是,对于所有值,我得到的输出是0.0
。我检查了x-81
是否给出了正确的输出。我还将346-81
替换为265
。但由于某种原因,所有输出都以0.0
给出
关于出了什么问题的任何建议?
答案 0 :(得分:4)
您正在执行整数除法。将81
更改为81.0
或将分子或分母转换为float
。
答案 1 :(得分:3)
Python 2对整数使用整数除法。这是一个坏主意,Python 3修复了它。要从 future 获得(更好)的行为,请将其放在py文件的开头:
from __future__ import division