python简单百分比计算返回0

时间:2014-07-02 15:08:33

标签: python math integer division python-2.x

好的,这似乎真的微不足道,但我无法解决这个问题。 我需要做一个基本的百分比计算。 这是我的代码:

corr = 205
score =  100 * (corr / 225 )
print score 

但结果是0。 怎么会?没有完全不同的方法来写这个,但我确实改变了这一点,并尝试添加int()float() s,但结果总是0

4 个答案:

答案 0 :(得分:5)

您应该将corr转换为float,这是您获得意外int

的地方
corr = 205
score =  100 * (float(corr) / 225)
print score
>>>  91.11111111111111

答案 1 :(得分:4)

添加@ Germano的答案,

Python2.7

>>> corr = 205
>>> score = 100 * (corr / 225)
>>> print score
0

Python3修复了自动转换。

>>> corr = 205
>>> score = 100 * (corr / 225)
>>> print(score)
91.11111111111111

请参阅How can I force division to be floating point? Division keeps rounding down to 0

答案 2 :(得分:2)

虽然其他人都有正确答案,但我想指出你可以添加.0,它会自动浮动。

corr = 205.0
score =  100 * (corr / 225 )
print score 

答案 3 :(得分:1)

以及将 corr 转换为float:

>>> float(corr) / 255
0.9111111111111111

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

>>> corr / 225 
0
>>> corr / 225.0
0.9111111111111111