Python 2:ValueError:基数为10的int()的无效文字:’20 .0′

我在
python中有一个小数学问题.所以我有一些变量,x,y和答案:

>>>x = 20
>>>y = 21
>>>answer = x / y * 100
>>>answer
0

所以它打印出null.好吧我知道它打印出null因为我必须打印x = 20.0而不是print x = 20.

但无论如何我需要打印出来:

95.2380952381

我怎样才能做到这一点?

注意:我不能只写x = 20.0?

而且我也试过这样做:

x1 = str(x) + '.0'
result = int(x1) / y * 100

但Python给我一个错误:

ValueError: invalid literal for int() with base 10: '20.0'

那么我该如何解决这个问题呢?

最佳答案 使用__future__ import division来使所有除法浮点除法.

或者,使用float()而不是int()将字符串解释为浮点数:

answer = float(x) / y * 100
点赞