python初学者的问题:
任何人都知道20/200 * 100是10.但是python说0!
检查此代码:
print 20/200*100
你知道为什么会这样吗?如何解决这个问题?
答案 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)
分子或分母