【发布时间】:2021-09-18 04:35:05
【问题描述】:
下面的代码进入无限循环,实际上如果我一步一步做,它应该在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")
【问题讨论】:
-
while条件是True,而不是值取决于i的表达式。您认为True的值何时不再为真? -
你想要
while i(或者更明确,while i != 0)。 -
真实总是真实的。真永远不会“变成假”。
标签: python while-loop boolean