Python计算值始终为0.0

2024-04-26 12:14:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个基本的循环如下:

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

问题是,我得到的输出是所有值的0.0。我检查了一下x-81是否给出了正确的输出。我还将346-81替换为265。但是由于某些原因,所有的输出都以0.0的形式给出。
关于出了什么问题有什么建议吗?你知道吗


Tags: inforrange原因floatdo建议形式
2条回答

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

python2对整数使用整数除法。这是个坏主意,python3修复了它。要从未来中获得(更好的)行为,请将以下内容放在py文件的开头:

from __future__ import division

相关问题 更多 >