第8章 流程控制-8.3 循环结构
循环结构就是让程序不断地重复执行同一段代码。Python中的循环结构有3种分别是while循环、for循环和循环嵌套。8.3.1 while循环while循环可以通过while语句和while…else语句实现。1.while语句while语句首先会判断其条件表达式是否成立如果条件表达式成立则执行循环体中的代码当执行完毕后再重新判断条件表达式的是否成立如仍然成立则继续重新执行循环体中的代码如此循环直到条件表达式不成立才终止循环最后执行除while语句外的其它代码。while语句的执行流程如图8-4所示。图8-4 while循环while语句的语法格式如下while 条件表达式 代码块该语法格式中的“条件表达式”可以是一个单一的值或者变量也可以是由运算符组成的复杂语句具体形式不限只要能得到一个值用于判断条件表达式是否成立即可“代码块”指的是缩进格式相同的多行代码且在循环结构中其又称为循环体。注意while语句后的冒号不要忘记书写。示例代码如下# 资源包\Code\chapter8\8.3\0808.py num 0 while num 5: print(f第一次输出{num}) num 1 print(f上述while循环执行了{num}次)2.while…else语句while…else语句首先会判断其条件表达式是否成立如果条件表达式成立则执行循环体中的代码否则终止循环并执行else语句后的代码最后执行除while语句外的其它代码。while…else语句的语法格式如下while 条件表达式 代码块1循环体 else: 代码块2该语法格式中的“条件表达式”可以是一个单一的值或者变量也可以是由运算符组成的复杂语句具体形式不限只要能得到一个值用于判断条件表达式是否成立即可“代码块”指的是缩进格式相同的多行代码。注意while语句后的冒号不要忘记书写。示例代码如下# 资源包\Code\chapter8\8.3\0809.py num 0 while num 5: print(f第一次输出{num}) num 1 else: print(while循环执行结束) print(f上述while循环执行了{num}次)8.3.2 for循环在Python中虽然for循环与while循环都是循环结构但是其应用场景是不一样的for循环主要用于遍历字符串、列表、元组、字典或集合并逐个获取其中的元素。for循环可以通过使用for语句和for…else语句实现。1.for语句for语句会通过不断地循环查找字符串、列表、元组、字典或集合中是否存在元素如果存在则继续循环否则终止循环最后执行除for语句外的其它代码。for语句的执行流程如图8-5所示。图8-5 for循环for语句的语法格式如下for 迭代变量 in 字符串|列表|元组|字典|集合 代码块该语法格式中的“迭代变量”用于存放从字符串、列表、元组、字典或集合中读取的元素“代码块”指的是具有相同缩进格式的多行代码。注意for语句后的冒号不要忘记书写。示例代码如下# 资源包\Code\chapter8\8.3\0810.py lt [1, 2, 3, 4, 5, 6, 7] for val in lt: print(val) print(上述for循环执行结束)2.for…else语句for…else语句会通过不断地循环查找字符串、列表、元组、字典或集合中是否存在元素如果存在则继续循环否则终止循环并执行else语句后的代码最后执行除for语句外的其它代码。for…else语句的语法格式如下for 迭代变量 in 字符串|列表|元组|字典|集合 代码块1 else: 代码块2该语法格式中的“迭代变量”用于存放从字符串、列表、元组、字典或集合中读取的元素“代码块”指的是具有相同缩进格式的多行代码。注意for语句后的冒号不要忘记书写。需要注意的是只有当for循环正常完成时才会执行else分支一旦强行中止循环则不会执行else分支。示例代码如下# 资源包\Code\chapter8\8.3\0811.py # 正常执行循环 lt [1, 2, 3, 4, 5, 6, 7] for val in lt: print(val) else: print(for循环执行结束) print(上述for循环正常执行结束) print() # 强行中止循环 lt [1, 2, 3, 4, 5, 6, 7] for val in lt: if val 3: break print(val) else: print(for循环执行结束) print(上述for循环强行中止循环else语句后的代码不执行)8.3.3 循环嵌套在实际开发中有很多需求是while循环或for循环无法单独完成的所以可以通过使用循环嵌套来实现更加复杂的功能。循环嵌套指的是多种循环之间的嵌套使用例如while循环里面还有while循环for循环里面还有for循环甚至while循环中有for循环或者for循环中有while循环。当两个或两个以上的循环结构相互嵌套时位于外层的循环结构称为外层循环或外循环位于内层的循环结构称为内层循环或内循环。循环嵌套的执行流程分为4步如图8-6所示。图8-6 循环嵌套第1步当外层循环条件表达式为真时则执行外层循环体第2步外层循环体中可能包含代码块和内层循环当内层循环条件表达式为真时,则执行此层循环中的代码块直到内层循环条件表达式为假时跳出内层循环第3步如果此时外层循环条件表达式仍为真则返回第2步继续执行外层循环体直到外层循环条件表达式为假第4步当内层循环条件表达式为假时且外层循环条件表达式也为假则整个循环嵌套才算全部执行完毕。示例代码如下# 资源包\Code\chapter8\8.3\0812.py num 0 lt [1, 2, 3] while num 2: for val in lt: print(val) else: num 1 print(ffor循环第{num}次执行) else: print(while循环执行结束) print(f列表lt遍历了{num}次)8.3.4 循环控制语句在执行while循环或for循环时只要循环条件成立程序就会一直执行循环体中的代码。但在某些功能场景中需要在循环结束前就强制结束。为此Python提供了2种强制结束循环的方法分别是break语句和continue语句。1.break语句break语句会立即终止所在循环体的执行跳出当前所在的循环结构。注意break语句不会作用于除所在循环结构之外的循环结构。示例代码如下# 资源包\Code\chapter8\8.3\0813.py # 该程序用于打印输出列表中的元素直到值等于5时终止并循环输出处理后的列表两遍 num 0 lt [1, 2, 3, 4, 5, 6, 7, 8, 9] # while循环共执行2次 while num 2: new_lt [] for val in lt: if val 5: # 当值等于5时终止执行当前循环体并跳出当前的循环结构 break new_lt.append(val) num 1 print(new_lt)2.continue语句continue语句会终止执行所在循环体的本次循环中剩下的代码直接从下一次循环继续执行。示例代码如下# 资源包\Code\chapter8\8.3\0814.py # 该程序用于将列表中的元素5剔除并循环输出处理后的列表两遍 num 0 lt [1, 2, 3, 4, 5, 6, 7, 8, 9] # while循环共执行2次 while num 2: new_lt [] # for循环共执行9次 for val in lt: if val 5: # 当值等于5时终止执行当前循环体的本次循环中剩下的代码即new_lt.append(val) continue new_lt.append(val) num 1 print(new_lt)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2500324.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!