While循环执行的循环多于指令

Mar*_*rio 0 python while-loop

在这段代码中,迭代应该比它们早于一个位置停止。

k = 0
while 2^k < 5:
    k += 1
print(k)
Run Code Online (Sandbox Code Playgroud)

我希望它打印出“ 3”,但它打印出“ 4”。

0x5*_*453 11

^按位XOR运算符。您可能打算**求幂。


Jea*_*one 6

在Python中,^运算符是按位异或运算符-不是幂运算。使用**乘方。