林江楠 发表于 2021-11-29 19:52:34

python死循环

3. 请问下面代码是否会构成一个死循环?
x = 9
while x:
    print(x)
    x -= 3
    x += 1


答:会。版权属于
解析:循环的条件是 x,那么在这段代码中,只有当 x 的值为 0,循环才能退出。循环体的内容除了打印 x 的值,就是对 x 进行减 2 的操作(先减 3 再加 1)。由于初始值是 9,每执行一次循环减 2,它这辈子也不可能等于 0 的,所以是一个死循环。


为什莫是死循环

明明9 -2然后下一次循环 7 -2

x 慢慢就小于0了,结束循环

hrpzcf 发表于 2021-11-29 19:59:51

等于0才结束循环,大于或者小于都会判为True

嘉岳呀 发表于 2021-11-29 20:03:48

在Python里,0代表的布尔值是False,非0值代表的布尔值是True,但是后来就到了-1,没有到0,负数是True,所以也会一直执行。

林江楠 发表于 2021-11-29 20:04:06

hrpzcf 发表于 2021-11-29 19:59
等于0才结束循环,大于或者小于都会判为True

额可以
页: [1]
查看完整版本: python死循环