关于math:python简单百分比计算返回0

python simple percentage calculation returning 0

本问题已经有最佳答案,请猛点这里访问。

好吧,这看起来真的很琐碎,但我想不出来。我需要做一个基本的百分比计算。这是我的代码:

1
2
3
corr = 205
score =  100 * (corr / 225 )
print score

但结果是0。怎么会?写这篇文章的方法并不完全不同,但我确实尝试了一下,尝试添加int()float(),但结果总是0


你应该把corr转换成float,这就是你得到意想不到的int的地方。

1
2
3
4
corr = 205
score =  100 * (float(corr) / 225)
print score
>>>  91.11111111111111

再加上@germano的回答,

Python 2.7

1
2
3
4
>>> corr = 205
>>> score = 100 * (corr / 225)
>>> print score
0

python3修复了自动铸造。

1
2
3
4
>>> corr = 205
>>> score = 100 * (corr / 225)
>>> print(score)
91.11111111111111

看我怎么能强迫除法成为浮点?除法一直四舍五入到0


虽然其他人都有正确的答案,但我想指出的是,您只需添加.0,它将自动变为浮点。

1
2
3
corr = 205.0
score =  100 * (corr / 225 )
print score

以及将corr转换为float:

1
2
>>> float(corr) / 255
0.9111111111111111

您也可以将分母称为浮点,这意味着结果也是浮点:

1
2
3
4
>>> corr / 225
0
>>> corr / 225.0
0.9111111111111111