好的,这似乎真的微不足道,但我无法解决这个问题。 我需要做一个基本的百分比计算。 这是我的代码:
corr = 205
score = 100 * (corr / 225 )
print score
但结果是0
。
怎么会?没有完全不同的方法来写这个,但我确实改变了这一点,并尝试添加int()
和float()
s,但结果总是0
。
答案 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