print (-2 ** 2)
应该返回什么?根据我的计算,它应该是 4
,但是解释器返回 -4
。
这是 Python 的问题还是我的数学很糟糕?
最佳答案
根据 docs ,**
的优先级高于-
,因此您的代码等同于-(2 ** 2)
。要获得所需的结果,您可以将 -2
放入括号中
>>> (-2) ** 2
4
或使用内置的 pow
function
>>> pow(-2, 2)
4
或math.pow
函数(返回 float
值)
>>> import math
>>> math.pow(-2, 2)
4.0
关于python - pow 运算符的计算错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23759202/