我在
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