在Python中查找百分比

时间:2013-10-11 02:13:31

标签: python floating-point percentage

python初学者的问题:

任何人都知道20/200 * 100是10.但是python说0!

检查此代码:

print 20/200*100

你知道为什么会这样吗?如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

在Python2中,如果两个参数都是int

,则/是截断的除法

您可以使用float字面值而不是将int转换为float

>>> 20/200.0*100
10.0
如果其他两个变量是int

,则

或先乘以100.0

>>> 100.0*20/200
10.0

答案 1 :(得分:0)

为什么会这样:

20/200 is 0.01

0.01 -> int = 0

0*100 = 0

如何解决:

使用:

print float(20)/200*100

或:

print 20.0*100/200

但请注意,它不支持变量。

答案 2 :(得分:0)

print (20/float(200)*100)

如果答案是十进制数,请使用float(x)分子或分母