0

python初学者的问题:

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

检查此代码:

print 20/200*100

你知道为什么会发生这种情况以及如何解决这个问题吗?

4

3 回答 3

1

在 Python2 中,/如果两个参数都是 int,则为截断除法

您可以只使用float文字而不是将 int 转换为 float

>>> 20/200.0*100
10.0

如果其他两个变量是 int,则先乘以 100.0

>>> 100.0*20/200
10.0
于 2013-10-11T02:22:18.213 回答
0

为什么会这样:

20/200 is 0.01

0.01 -> int = 0

0*100 = 0

怎么解决:

利用:

print float(20)/200*100

或者:

print 20.0*100/200

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

于 2013-10-11T02:13:30.577 回答
0
print (20/float(200)*100)

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

于 2018-02-05T09:42:32.967 回答