第4章 程序的流程控制《Python语言程序设计》教学课件_第1页
第4章 程序的流程控制《Python语言程序设计》教学课件_第2页
第4章 程序的流程控制《Python语言程序设计》教学课件_第3页
第4章 程序的流程控制《Python语言程序设计》教学课件_第4页
第4章 程序的流程控制《Python语言程序设计》教学课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《Python语言程序设计》✩精品课件合集Python语言程序设计第4章程序的流程控制第4章程序的流程控制4.1顺序结构程序是由一系列语句按照特定的结构组成的,3种基本的程序结构分别是:顺序结构、分支结构和循环结构。不同的程序结构,代表着不同的语句运行顺序,即程序的流程。例如,在顺序结构的程序中,将会按照程序中的语句顺序,自上向下逐条运行。顺序结构程序3/40编写一个计算三角形面积的程序,其中需要用户依次输入三角形的三条边长,然后使用公式:计算三角形的面积,其中:案例:求三角形的面积4/40运行效果:案例:求三角形的面积5/40第4章程序的流程控制4.2分支结构分支结构的程序在运行时,允许程序根据不同的“预设条件”运行相应的语句块,从而控制程序的运行流程,分支结构也称为选择结构。

分支结构程序7/40分支结构的程序在运行时,允许程序根据不同的“预设条件”运行相应的语句块,从而控制程序的运行流程,分支结构也称为选择结构。例如,在计算三角形面积的程序中,希望增加判断三角形是否成立的预设条件,即只有当输入的三条边长能构成三角形时,才计算三角形的面积。若要完成上述功能,则必须在程序中加入对预设条件“三角形是否成立”的判断语句。分支结构程序8/40分支结构的程序在运行时,允许程序根据不同的“预设条件”运行相应的语句块,从而控制程序的运行流程,分支结构也称为选择结构。例如,在计算三角形面积的程序中,希望增加判断三角形是否成立的预设条件,即只有当输入的三条边长能构成三角形时,才计算三角形的面积。若要完成上述功能,则必须在程序中加入对预设条件“三角形是否成立”的判断语句。Python中用于构建分支结构程序的关键字有if、elif和else。分支结构程序9/40分支语句if…else…的语法格式如下所示,同时为了表示程序之间的包含关系,语句块1和语句块2都需要向右缩进。if条件表达式:

语句块1[else:

语句块2]在运行上述结构的程序时,首先会计算if语句中的条件表达式对应的逻辑值,如果计算结果为True,就运行语句块1并忽略语句块2,否则,忽略语句块1并运行语句块2。在上述语法格式中,else语句及其引导的语句块2被一对方括号包含,表示括号内的语句可以根据实际情况省略,即如果没有在不满足条件表达式为True时需要运行的语句,则可以不添加else语句及其引导的语句块2。if…else…语句10/40案例:判断三角形是否成立并计算其面积11/40在一些具体问题的求解中,也可以省略else语句块,仅使用if语句块来构造相应的程序,例如:编写程序提示用户输入一个有效的年份,输出该年份的二月份天数,程序如下:运行结果如下:单分支结构的程序12/40当程序处理的问题需要判断2种以上不同的情况时,就需要构建多分支结构的程序。例如,编写程序参考南京水务集团公布的居民用水阶梯价格(见下表),计算某户居民一年应缴水费。由表4-1可知,三个阶段的水费计算公式各不相同,因此需要在程序中构造多分支结构,由此引入elif语句。多分支结构与elif语句

年用水量到户单价第一阶梯年用水量≤180立方米3.04元第二阶梯180立方米<年用水量≤300立方米3.75元第三阶梯年用水量>300立方米5.88元13/40分支语句if…elif…else…的语法格式如下所示,同时为了表示程序之间的包含关系,语句块1至语句块n都需要向右缩进。if条件表达式1:

语句块1elif条件表达式2:

语句块2…[else:

语句块n]其中,省略号表示elif语句块可以根据实际需要出现多次。if…elif…else…语句14/40案例:计算阶梯水费程序的运行结果如下:15/40第4章程序的流程控制4.3循环结构循环结构的程序在运行时,可以让程序中指定的代码块在一定的条件下重复运行。通过构建循环结构的程序,使得其在满足“预设条件”下,重复运行一段语句块,被称为条件循环。构造条件循环有两个要素,一是循环体,即重复运行的语句块,另一个是循环条件,即重复运行语句块所要满足的条件,在Python中通常使用while关键字来构建条件循环。此外,还有一种被称为迭代循环的循环结构程序,其运行过程是将某个数据集合中的数据对象挨个赋值到指定的变量中,被赋值的变量称作循环变量,再将循环变量依次代入循环体中重复运行,在Python中通常使用for关键字来构建迭代循环。循环结构程序17/40while语句可以在条件为真的前提下重复运行某块语句,它的语法格式如下所示,同时为了表示程序之间的包含关系,语句块需要向右缩进。while条件表达式:

语句块while关键字构建的循环结构被称为条件循环,即满足条件时,重复运行语句块,循环条件不满足时,退出循环。条件循环与while语句18/40案例:计算1+2+3+……+100的结果程序的运行结果如下:19/40案例:简化例3_6的代码20/40与while语句构建的条件循环不同,for…in…语句用于构建迭代循环,其特点是会在一系列对象上进行迭代(Iterates),即它会遍历可迭代对象中的每一个元素。for…in…语句的语法格式如下所示,同时为了表示程序之间的包含关系,语句块需要向右缩进。for<循环变量>in<可迭代对象>:

语句块迭代循环与for…in…语句21/40上述程序中,n被称为循环变量,其值在区间[1,101)中进行整数对象的迭代,即从n=1开始重复运行s=s+n,直到最后n=100为止,程序的运行效果如下。案例:计算1+2+3+……+100的结果22/40由上述程序可知,使用内置函数range()可以生成可以进行迭代的整数对象,range()函数的语法格式为:range(stop)或者:range(start,stop[,step])其中,参数start和参数stop分别表示生成区间[start,stop)的起始值和结束值,如果参数start没有指定,则默认为0;参数step指的是由range()函数生成的可迭代对象之间的差值。内置函数range()23/40上述程序中,使用range()函数生成了在区间[2,101)上差值为2的可迭代对象,即2、4、6、……、98、100,然后对其进行迭代循环,依次将迭代得到元素赋值给n,并重复运行循环体内的s=s+n,完成不断累加的计算过程,程序的运行效果如下。案例:计算100以内所有偶数的和24/40案例:简化例3_7中的代码25/40通过上一小节的学习可知,在Python语言中可以构建循环结构程序,以反复运行同一段语句块中的代码。这样做的好处是可以消除程序中的重复代码,提高程序的可读性。与此同时,Python还提供了在循环结构中进行程序流程控制的语句:break语句和continue语句,接下来对它们进行逐一介绍。由break关键字构成的语句,被称为break语句,它的作用是终止当前的循环结构,转而运行该循环结构之后的程序代码。流程控制中的break语句26/40程序的运行效果如下:案例:使用break中断循环27/40以whileTrue引导的条件循环,在循环体中一定要有用作终止循环的break语句,并在正确的时机被运行,否则就会造成循环体重复运行无法停止的现象,这种现象被称作死循环,例如下面的程序。通过按键盘上Ctrl+C组合键,可以强制停止当前程序的运行。死循环28/40由continue关键字构成的语句,被称为continue语句,它的作用是终止本轮循环的运行,继续运行当前循环结构的下一个轮次,直到循环结束。例如,编写程序计算100以内所有偶数的和,要求使用foriinrange(1,101)引导循环体,其程序如下所示。流程控制中的continue语句29/40Python中的循环结构程序也可以像分支结构一样包含由else关键字引导的部分,具体内容如下。在while引导的条件循环中使用else关键字,语法格式为:while条件表达式:

语句块1[else:

语句块2]上述结构的程序中,由else关键字引导的语句块2,将在预设条件不成立即条件表达式的逻辑值为False时被运行。循环中的else语句30/40程序的运行结果如下:案例:判断用户输入的是否为质数31/40在for引导的迭代循环中使用else关键字,语法格式为:for<循环变量>in<可迭代对象>:

语句块1[else:

语句块2]上述结构的程序中,由else关键字引导的语句块2,将在可迭代对象中的所有元素都被遍历,即没有元素可供使用时被运行。for循环中引入else语句32/40程序的运行效果如下:案例:判断质数(for循环实现)33/40第4章程序的流程控制4.4结构嵌套程序中,一个分支或者循环结构的程序中包含另一个分支或者循环结构,称作结构嵌套。例如程序例4_10、例4_12、例4_13,这些程序的循环结构中都包含if引导的分支结构,所以这些程序都属于结构嵌套的范畴。在结构嵌套的程序中,需要特别关注的是循环结构的嵌套。程序结构的嵌套使用35/40程序的运行效果如下:案例:打印九九乘法表36/40第4章程序的流程控制4.5

pass语句pass语句是Python语言中一个非常特殊的语句,该语句运行后不会有任何实质性的功能,它的主要作用就是在语句块不包含任何功能的时候保证程序的语法正确,例如以下程序(讲解见后页):程序中的pass语句38/40上述程序完成了一个求一元二次方程的根的程序的基本框架,由于程序中的所有分支并没有具体内容,程序运行后在输入了方程的系数后,也不会有任何运行结果。但是从上述示例可以看出,pass语句可以在程序中保证整个程序的语法正确,即如果删除上述程序中任意一处的pass语句都会导致Python解释器认为该程序包含语法错误。程序在不断完善的过程中,总会有一些地方需要暂时“空着”,而pass语句正是起到这个作用,所以也被称作空语句。程序中的pass语句39/40第4章程序的流程控制4.6综合案例:100以内所有质数的和根据题目要求,为了能够将100以内所有的质数都找出来,需要构建区间在[2,100)上的迭代循环,并在循环中判断迭代得到的整数是否为质数,如果是一个质数就进行累加,直到循环结束,程序如下所示:综合案例:100以内所有质数的和41/40第4章程序的流程控制4.7本章小结通过本章的学习,读者应该了解并掌握了程序的3种基本控制结构:顺序结构、分支结构和循环结构,以及用于程序流程控制的break、continue等关键字的相关知识。顺序结构是最基本的程序结构,在顺序结构中,程序按照从上往下的顺序一条一条地运行。分支结构是在顺序结构的程序中加入了判断和选择的功能,在Python中,使用关键字if、else和elif构建分支结构程序。与分支结构不同,循环

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论