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

标签 python math

我有一个 python 数学的小问题。所以我有几个变量,xyanswer:

>>>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/

相关文章:

algorithm - 分而治之矩阵乘法

PHP - 困难的数学计算

javascript - 在 JavaScript 中绘制路径点简化/减少

objective-c - 在 box2d/cocos2diphone 中,我怎样才能产生一个冲动,使 b 点远离 a 点

python - 处理 Python 库包的最佳实践是什么?

python - 将列表追加到字典中

python - 如何在 Python 中使用子进程重定向输出?

python - 无法实现基于类的非二进制 id3 决策解决方案

python - 如何设置 SQLALCHEMY_DATABASE_URI?

javascript - 在 React Native 中创建矩阵转换系统?