python初学者的问题:
任何人都知道 20/200*100 是 10。但是 python 说 0!
检查此代码:
print 20/200*100
你知道为什么会发生这种情况以及如何解决这个问题吗?
python初学者的问题:
任何人都知道 20/200*100 是 10。但是 python 说 0!
检查此代码:
print 20/200*100
你知道为什么会发生这种情况以及如何解决这个问题吗?
在 Python2 中,/
如果两个参数都是 int,则为截断除法
您可以只使用float
文字而不是将 int 转换为 float
>>> 20/200.0*100
10.0
如果其他两个变量是 int,则先乘以 100.0
>>> 100.0*20/200
10.0
为什么会这样:
20/200 is 0.01
0.01 -> int = 0
0*100 = 0
怎么解决:
利用:
print float(20)/200*100
或者:
print 20.0*100/200
但请注意,它不支持变量。
print (20/float(200)*100)
float(x)
如果答案是十进制数,则使用分子或分母