以下代码进入无限循环,实际上如果我一步一步来,它应该在 i
的值变为 0 时终止,此时 while
条件变为 False
。因此,while
循环应该终止。根据我的理解,输出应该是 -5 -4 -3 -2 -1 0
,因为 0
是 False
,这使得 while True
条件 False
。有人可以解释为什么代码不会终止并进入无限循环吗?
i = -5 # initialization
while True: # condition
print(i) # statement
i += 1
print("exit")
答案 0 :(得分:2)
i
的值是什么并不重要;您的循环只考虑 True
的值,这是一个永远不会变为 false 的常量。
i = -5
while i != 0: # i alone works, but this is clearer
print(i)
i += 1