《Python3智能数据分析快速入门》—3.2.2 while
3.2.2 while
while语句是Python中最常用的递归结构。区别于for循环,while循环结构包含条件判断式,是一种条件循环,属于当型循环。
while语句最基本的形式包括一个位于顶部的布尔表达式,一个或多个属于while代码块的缩进语句。也可以在结尾处包含一个else代码块,它与while代码块是同级的,组成while-else的形式。while语句的基本语法格式如下。
while 条件表达式:
操作语句 1
操作语句 2
while语句常用的参数及其说明如表3-5所示。
表3-5 While语句常用的参数及其说明
执行while语句时,只要顶部的条件表达式返回真值,就一直执行while部分嵌套的递归代码,当条件表达式返回假值时,不再执行操作语句,程序跳出while结构。
while语句的基础使用方法如代码清单3-11所示。
代码清单3-11 while语句
如果布尔表达式不带有<、>、==、!=、in、not in等运算符,仅仅给出数值之类的条件,也是可以的。当while后写入一个非零整数时,视为真值,执行循环体;写入0时,视为假值,不执行循环体。也可以写入str、list或任何序列,长度非零则视为真值,执行循环体;否则视为假值,不执行循环体。
如果布尔表达式始终返回1,while语句就变成无限循环,如代码清单3-12所示。
代码清单3-12 while语句无限循环
运行代码清单3-12,将会不断打印出“循环”。代码清单3-12展示了制造无限循环的两种方式,既可以在while后写入一个固定的真值,也可以写入一个一直生成真值的表达式。要终止无限循环,可以使用快捷键Ctrl+C中断循环的执行,也可以用循环终止语句,这将在3.2.3节介绍。
灵活地利用while语句中的布尔表达式及代入表达式的递归值,可以实现特别的功能,如代码清单3-13所示。
代码清单3-13 while语句实现str截取
代码清单3-13包含一个自减迭代值,它并不通过明显的运算符实现自减,而是利用索引法则,x变量一直从str中第2个值截取至结尾,每次都将位于str最前面的字符截取掉,最终只剩下一个字符时,再次截取就只有空的结果,布尔表达式返回0,循环终止。
通过代码清单3-12和代码清单3-13可以看到,灵活地利用递归式,可以实现程序流向的控制。
while循环同样可以使用嵌套,嵌套的while循环实现成绩录入系统如代码清单3-14所示。
代码清单3-14 嵌套while语句
代码清单3-14的第1层while语句用于录入人名,第2层则在各人名下录入多门成绩,布尔表达式决定录入的人数和课程数。
- 点赞
- 收藏
- 关注作者
评论(0)