1、Python语言 第三章 流程控制 3.1 条件语句3.2 条件流程控制3.3 循环流程控制习题3.4 实验3.5 小结流程控制是指在程序运行时,对指令运行顺序的控制。通常,程序流程结构分为三种:顺序结构、分支结构和循环结构。顺序结构是程序中最常见的流程结构,按照程序中语句的先后顺序,自上而下依次执行,称为顺序结构;分支结构则根据if条件的真假(True或者False)来决定要执行的代码;循环结构则是重复执行相同的代码,直到整个循环完成或者使用break强制跳出循环。Python语言中,一般来说,我们使用if语句实现分支结构,用for和while语句实现循环结构。第三章 流程控制3.1 条件语
2、句流程图,是使用图形来表示流程控制的一种方法,是一种传统的算法表示方法,用特定的图形符号和文字对流程和算法加以说明,叫做算法的图,也称为流程图。俗话说千言万语不如一张图。流程图有它自己的规范,按照这样的规范所画出的流程图,便于技术人员之间的交流,也是软件项目开发所必备的基本组成部分,因此画流程图也应是开发者的基本功。符号说明圆角矩形用来表示“开始”与“结束”。矩形用来表示要执行的动作或算法。菱形用来表示问题判断。平行四边形用来表示输入输出。箭头用来代表工作流方向。第三章 流程控制3.1 条件语句顺序结构是程序中最常见的流程结构,按照程序中语句的先后顺序,自上而下依次执行,称为顺序结构;语句块1
3、语句块3语句块2第三章 流程控制3.1 条件语句条件语句是用来判断给定的条件是否满足,并根据判断的结果(True或False)决定是否执行或如何执行后续流程的语句,它使代码的执行顺序有了更多选择,以实现更多的功能。一般来说,条件表达式是由条件运算符和相应的数据所构成的,在Python中,所有合法的表达式都可以作为条件表达式。条件表达式的值只要不是False、0、空值(None)、空列表、空集合、空元组、空字符串等,其它均为True。第三章 流程控制3.1 条件语句 第三章 流程控制3.1 条件语句 3.2 条件流程控制3.3 循环流程控制习题3.4 实验3.5 小结f语句是由if发起的一个条件
4、语句,在满足此条件后执行相应内容,Python的语句基本结构如下。if 表达式1:语句块1elif 表达式2:语句块2else:语句块n 图3.1分支选择结构表达式1语 句 1语 句 2TrueFalseTrueFalse表达式2语句n第三章 流程控制3.2 条件流程控制这里的elif,为else if 的缩写,同时需要注意的是:1、else、elif为if语句的子语句块,不能独立使用。2、每个条件后面要使用冒号“:”,表示满足条件后需要执行的语句块,后面几种其它形式的选择结构和循环结构中是冒号也是必须要有的。3、使用缩进来划分语句块,相同缩进数的语句组成一个语句块。4、在Python中没有s
5、witchcase语句。第三章 流程控制3.2 条件流程控制单向分支选择结构是最简单的一种形式,不包含elif和else,当表达式值为True时,执行语句块,否则该语句块不执行,继续执行后面的代码。其语法如下。if 表达式:语句块表达式表达式语句块语句块TrueFalse图3.2单分支选择结构 第三章 流程控制3.2 条件流程控制双分支语句是由if和else两部分组成,当表达式的值为True时,执行语句块1否则执行语句块2。双分支选择结构的语法如下。if 表达式:语句块1else:语句块2表达式表达式语句块语句块1语句块语句块2 TrueFalse图3.3双分支选择结构第三章 流程控制3.2
6、条件流程控制例如判断条件表达式的值是否为True,是则执行语句块1,否则执行else部分,最后再输出a的值。第三章 流程控制3.2 条件流程控制多分支选择结构由if、一个或多个elif和一个else子块组成,else子块可省略。一个if语句可以包含多个elif语句,但结尾最多只能有一个else。多分支选择结构的语法如下。if 表达式1:语句块1elif 表达式2:语句块2elif 表达式3:语句块3else:语句块n语句块语句块1语句块语句块2True表达式表达式2表达式表达式1表达式表达式3语句块语句块3语 句 块语 句 块nTrueTrueFalseFalseFalse图3.4多分支选择结
7、构第三章 流程控制3.2 条件流程控制例如请输入一个正整数,判断它是否能同时被2和3整除。第三章 流程控制3.2 条件流程控制选择结构可以进行嵌套来表达更复杂的逻辑关系。使用选择结构嵌套时,一定要控制好不同级别的代码块的缩进,否则就不能被Python正确理解和执行。在if 语句嵌套中,if、if.else、if.elif.else它们可以进行一次或多次相互嵌套,例如结构如下。if 表达式1:语句块1if 表达式2:语句块2else:if 表达式3:语句块3 else:语句块4语句块语句块1语句块语句块2True表达式表达式2表达式表达式1表达式表达式3语句块语句块3语句块语句块4TrueTru
8、eFalseFalseFalse图3.5选择结构嵌套第三章 流程控制3.2 条件流程控制例如请输入一个正整数,判断它是否能同时被2和3整除。第三章 流程控制3.2 条件流程控制 第三章 流程控制3.1 条件语句3.2 条件流程控制 3.3 循环流程控制习题3.4 实验3.5 小结循环,是我们生活中常见的,比如每天都要吃饭、上课、睡觉等,这就是典型的循环。循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。Python提供for和while两种循环语句。for语句,用来遍历序列对象内的元素,通常用在已知的循环次数;while语句,提供了编写通用循环的方法。语句块语句块TrueFalse
9、循环条件循环条件图3.6循环流程图第三章 流程控制3.3 循环流程控制for循环的语法结构跟前面讲的if.else有点类似,记的时候不要记混淆了。for执行时,依次将可迭代对象中的值赋给变量,变量每赋值一次,则执行一次循环体。循环执行结束时,如果有else部分,则执行对应的语句块。else只有在循环正常结束时执行。如果使用break跳出循环,则不会执行else部分,且根据实际编程需求,else部分可以省略。其结构如下。for 变量 in 序列或迭代对象:循环体(语句块1)else:语句块2注意:for和else后面冒号不能丢,循环体、语句块缩进严格对齐。第三章 流程控制3.3 循环流程控制例如
10、求1100的累加和,range()函数是生成1到100的整数,Sum是累加的和。例如删除列表对象中所有偶数。第三章 流程控制3.3 循环流程控制for循环嵌套是指在for循环里有一个或多个for语句,循环里面再嵌套一重循环的叫双重循环,嵌套两层以上的叫多重循环。例如使用两个for循环打印出九九乘法表,使用for循环和range()函数,变量i控制外层循环,变量j是控制内层循环的次数。第三章 流程控制3.3 循环流程控制例如求1!+2!+3!+4!+10!的和第三章 流程控制3.3 循环流程控制break语句,它的作用是跳出循环或叫终止循环,执行循环后面的语句。continue语句是结束本次循环
11、(循环体中continue后面的语句不执行),进入下一次循环。例如循环条件为True,当i等于7的时候强制跳出循环。第三章 流程控制3.3 循环流程控制例如把5080的不能被3整除的数输出。第三章 流程控制3.3 循环流程控制在循环体中可以包含另一个循环或分支语句,在分支语句中也可以包含另一个分支或循环。例如将小写字母转换成大写字母,大写字母转换成小写字母,注意代码缩进。第三章 流程控制3.3 循环流程控制当不知道循环次数,但知道循环条件时,一般使用while语句。与for循环类似,可在循环体中使用break和continue语句。else部分可以省略。注意:在Python中没有do.whil
12、e语句。其语法结构如下。while 循环条件:循环体(语句块1)else:语句块2第三章 流程控制3.3 循环流程控制例如使用双重while循环打印出一个倒三角形图案。第三章 流程控制3.3 循环流程控制例如求50以内所有5的倍数的和。第三章 流程控制3.3 循环流程控制 第三章 流程控制3.1 条件语句3.2 条件流程控制3.3 循环流程控制习题 3.4 实验3.5 小结1、从键盘输入三个同学的成绩,然后找出最高分。第三章 流程控制3.4 实验2、输入三个同学的成绩,然后大到小排列。第三章 流程控制3.4 实验1、求出1000以内的所有完数,如6=1+2+3除了它自身以外的因子之和等于它本身
13、叫完数。第三章 流程控制3.4 实验2、用循环语句求1+22+333+4444+55555的和。第三章 流程控制3.4 实验1、求出2000-2100的所有闰年,条件是能同时被4和100整除,或者能被400整除的是闰年。第三章 流程控制3.4 实验2、输入两个正整数,并求出它们的最大公约数和最小公倍数。第三章 流程控制3.4 实验1、输出100以内的所有质数。第三章 流程控制3.4 实验2、求100以内最大的10个质数的和。第三章 流程控制3.4 实验1、求1-10的所有偶数的和。第三章 流程控制3.4 实验2、将10-20不能被2或3整除的数输出。第三章 流程控制3.4 实验 第三章 流程控
14、制3.1 条件语句3.2 条件流程控制3.3 循环流程控制习题3.4 实验 3.4 小结本章讲解了Python的流程控制:if分支、for循环和while循环。if、for和while语法上很简单,但通过组合或嵌套,可以实现各种简单到复杂的程序逻辑结构。为了保证程序流程控制的灵活性,Python提供了continue和break两个语句来控制循环语句。continue语句用来结束本次循环,提前进入下一次循环。break语句用于强制退出循环,不执行循环体中剩余的循环次数。第三章 流程控制3.5 小结 第三章 流程控制3.1 条件语句3.2 条件流程控制3.3 循环流程控制 习题3.4 实验3.5 小结1._语句是else和if的组合。2._、_不能单独和if分支配合使用。3.每个流程结构语句后面必须要有_。4.Python中的流程控制语句有_、_和_。5.当循环_结束时才会执行else部分。习题:感谢聆听