Python核心编程从入门到开发实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.4.2 无限循环(条件循环):whiIe语句

无限循环一直保持循环操作直到特定循环条件不被满足才结束,不需要提前知道循环次数。Python通过保留字while实现无限循环,使用方法如下:

while语句的条件判断与if语句的条件判断一样,判断结果为True或False。while语句的条件判断比较简单,当条件判断为True时,循环体就会去重复执行语句块中的语句;当条件判断为False时,则中止循环语句的执行,同时执行与while同级别的后续语句。while语句和for语句一样,也可以和else一同使用,使用方法如下:

在3.4.1节的范例中,通过for循环将字符串中的字符逐个输出。同样可以通过while循环来实现这种功能。

【范例3-10】条件循环范例。

本范例通过while循环逐个输出n字符串内所有的字符(源代码3.10.py)。

执行结果如下:

如图3-17所示。

图3-17 条件循环结果

注意

如果在这里遗漏代码行t+=1,则程序会陷入无限循环之中。因为t变量的初始值为0,且不会发生变化,则t<len(n)即0<5始终为True,将导致while循环不会停止。

要避免无限循环的问题,就务必对每个while循环进行测试,确保它按预期那样结束。如果希望程序在用户输入特定值时结束,则可运行程序并输入这样的值;如果在这种情况下程序没有结束,那么,请检查程序处理这个值的方式,确认程序至少有一个这样的地方能让循环条件为False,或者让break语句得以执行。