《Python3智能数据分析快速入门》—3.2.2 while

举报
华章计算机 发表于 2019/07/19 22:20:41 2019/07/19
【摘要】 本节书摘来自华章计算机《Python3智能数据分析快速入门》一书中的第3章,第3.2.2节,作者是李明江 张良均 周东平 张尚佳 。 

3.2.2 while

while语句是Python中最常用的递归结构。区别于for循环,while循环结构包含条件判断式,是一种条件循环,属于当型循环。

while语句最基本的形式包括一个位于顶部的布尔表达式,一个或多个属于while代码块的缩进语句。也可以在结尾处包含一个else代码块,它与while代码块是同级的,组成while-else的形式。while语句的基本语法格式如下。

while 条件表达式:

    操作语句 1

    操作语句 2

while语句常用的参数及其说明如表3-5所示。

表3-5 While语句常用的参数及其说明

image.png

 

执行while语句时,只要顶部的条件表达式返回真值,就一直执行while部分嵌套的递归代码,当条件表达式返回假值时,不再执行操作语句,程序跳出while结构。

while语句的基础使用方法如代码清单3-11所示。

代码清单3-11 while语句

image.png

如果布尔表达式不带有<、>、==、!=、in、not in等运算符,仅仅给出数值之类的条件,也是可以的。当while后写入一个非零整数时,视为真值,执行循环体;写入0时,视为假值,不执行循环体。也可以写入str、list或任何序列,长度非零则视为真值,执行循环体;否则视为假值,不执行循环体。

如果布尔表达式始终返回1,while语句就变成无限循环,如代码清单3-12所示。

代码清单3-12 while语句无限循环

image.png

运行代码清单3-12,将会不断打印出“循环”。代码清单3-12展示了制造无限循环的两种方式,既可以在while后写入一个固定的真值,也可以写入一个一直生成真值的表达式。要终止无限循环,可以使用快捷键Ctrl+C中断循环的执行,也可以用循环终止语句,这将在3.2.3节介绍。

灵活地利用while语句中的布尔表达式及代入表达式的递归值,可以实现特别的功能,如代码清单3-13所示。

代码清单3-13 while语句实现str截取

image.png

代码清单3-13包含一个自减迭代值,它并不通过明显的运算符实现自减,而是利用索引法则,x变量一直从str中第2个值截取至结尾,每次都将位于str最前面的字符截取掉,最终只剩下一个字符时,再次截取就只有空的结果,布尔表达式返回0,循环终止。

通过代码清单3-12和代码清单3-13可以看到,灵活地利用递归式,可以实现程序流向的控制。

while循环同样可以使用嵌套,嵌套的while循环实现成绩录入系统如代码清单3-14所示。

代码清单3-14 嵌套while语句

image.png

代码清单3-14的第1层while语句用于录入人名,第2层则在各人名下录入多门成绩,布尔表达式决定录入的人数和课程数。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。