为什么这段代码会进入无限循环?

时间:2021-07-07 15:54:37

标签: python while-loop boolean

以下代码进入无限循环,实际上如果我一步一步来,它应该在 i 的值变为 0 时终止,此时 while 条件变为 False。因此,while 循环应该终止。根据我的理解,输出应该是 -5 -4 -3 -2 -1 0,因为 0False,这使得 while True 条件 False。有人可以解释为什么代码不会终止并进入无限循环吗?

i = -5        # initialization
while True:   # condition
    print(i)  # statement
    i += 1

print("exit")

1 个答案:

答案 0 :(得分:2)

i 的值是什么并不重要;您的循环只考虑 True 的值,这是一个永远不会变为 false 的常量。

i = -5
while i != 0:  # i alone works, but this is clearer
  print(i)
  i += 1