這個問題在這里已經有了答案: pow 運算子的計算錯誤 (4 個回答) 2 天前關閉。
為什么python中的這段代碼回傳-1而不是1?
-1**0
我已經在多個版本的 python 中檢查過它,但仍然沒有。
uj5u.com熱心網友回復:
也許你應該試試這個math.pow功能
>>> import math
>>> math.pow(-1, 0)
1.0
或者正確地將運算子分組;指數發生在否定之前
>>> (-1) ** 0
1
uj5u.com熱心網友回復:
提示在 ast 擴展中:
$ pip install astpretty
...
$ astpretty t.py --no-show-offsets
Module(
body=[
Expr(
value=UnaryOp(
op=USub(),
operand=BinOp(
left=Constant(value=1, kind=None),
op=Pow(),
right=Constant(value=0, kind=None),
),
),
),
],
type_ignores=[],
)
-1**0最好解釋為- (1 ** 0)——對冪應用一元否定
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/312864.html
上一篇:如何減少檢查此leetcode中每個值所花費的時間?
下一篇:模運算
