我有一个 python 数学的小问题。所以我有几个变量,x
、y
和 answer
:
>>>x = 20
>>>y = 21
>>>answer = x / y * 100
>>>answer
0
所以它打印出 null。好的,我知道它打印出 null,因为我必须打印 x = 20.0
而不是打印 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'
那么我该如何解决这个问题呢?
最佳答案
使用 from __future__ import division
使所有除法 float 除法。
或者,使用 float()
而不是 int()
将字符串解释为 float :
answer = float(x) / y * 100
关于 python 2 : ValueError: invalid literal for int() with base 10: '20.0' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17755004/