Python 表现出一种我以前从未见过的奇怪行为,不确定我做了什么或发生了什么,但基本上它不会在带小数的 shell 中运行 如果我输入简单的
>>> 2/3
0
>>> 3/2
1
如果我尝试通过 % 或 format() 格式化它,它也没有做太多,基本上它只是不识别任何小数
>>> a =2/3
>>> a
0
>>> format(a, '.5f')
'0.00000'
我的代码需要一个简单的除法来检查一些东西,突然间我遇到了像这样奇怪的东西
我使用 Python 2.7
请您参考如下方法:
在 Python 2 中,/ 默认执行“整数除法”。如果你把
from __future__ import division
在脚本的顶部,它将执行您想要的除法,这将是 Python 3 中的默认行为。或者,如果您想与旧的 Python 版本保持兼容(不推荐用于新代码),请执行
2. / 3.
或者,使用变量
x / float(y)
