![Python核心编程从入门到开发实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/118/30638118/b_30638118.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.4.2 无限循环(条件循环):whiIe语句
无限循环一直保持循环操作直到特定循环条件不被满足才结束,不需要提前知道循环次数。Python通过保留字while实现无限循环,使用方法如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/78_1.jpg?sign=1739196217-cc4wthfyE07nLeUJVpnWaskbd8vY5xBO-0-c06323d6a214676e56880ed3930d582c)
while语句的条件判断与if语句的条件判断一样,判断结果为True或False。while语句的条件判断比较简单,当条件判断为True时,循环体就会去重复执行语句块中的语句;当条件判断为False时,则中止循环语句的执行,同时执行与while同级别的后续语句。while语句和for语句一样,也可以和else一同使用,使用方法如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/78_2.jpg?sign=1739196217-w2t5g7woLr6m1eDqN2NeKapE2CB8Mcg2-0-133b9499888b83bd363618fbaa841f44)
在3.4.1节的范例中,通过for循环将字符串中的字符逐个输出。同样可以通过while循环来实现这种功能。
【范例3-10】条件循环范例。
本范例通过while循环逐个输出n字符串内所有的字符(源代码3.10.py)。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/78_3.jpg?sign=1739196217-9JryeSQx95SEfeyBQk6CnboEvjrAPJnx-0-ddd8549e90a7c2d25a388bdc6ab1d6a2)
执行结果如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/78_4.jpg?sign=1739196217-KCFv1KuFxfTiXip8QUG0uewzMmReebvn-0-b758c423bf6b43f6c02e6043f75780f7)
如图3-17所示。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/79_1.jpg?sign=1739196217-y3wCEMdIVtEdcSJcjBgLmCwPGaCq3EdD-0-4438a12891eaf2a83d221c4ca6f3979f)
图3-17 条件循环结果
注意
如果在这里遗漏代码行t+=1,则程序会陷入无限循环之中。因为t变量的初始值为0,且不会发生变化,则t<len(n)即0<5始终为True,将导致while循环不会停止。
要避免无限循环的问题,就务必对每个while循环进行测试,确保它按预期那样结束。如果希望程序在用户输入特定值时结束,则可运行程序并输入这样的值;如果在这种情况下程序没有结束,那么,请检查程序处理这个值的方式,确认程序至少有一个这样的地方能让循环条件为False,或者让break语句得以执行。