PYTHON程序设计 课件 【ch03】控制结构_第1页
PYTHON程序设计 课件 【ch03】控制结构_第2页
PYTHON程序设计 课件 【ch03】控制结构_第3页
PYTHON程序设计 课件 【ch03】控制结构_第4页
PYTHON程序设计 课件 【ch03】控制结构_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

控制结构“计算机类精品系列教材Python程序设计第三章01顺序结构一、顺序结构01赋值语句(1)直接赋值直接赋值为赋值语句的基础形式。其语句格式如下:变量名=变量值(2)元组赋值元组赋值的格式如下:变量1,变量2,…=值1,值2,…(3)序列赋值把字符串序列中的字符分别赋值给变量。右侧的元素的数量和左侧的变量的数量必须相等,否则会报错。(4)多目标赋值在Python中可以同时为多个变量赋值。其语句格式为:变量1=变量2=…=值。(5)复合赋值。复合赋值也叫增强赋值,该类型的赋值方法中包含的运算符包括:+=、-=、*=、=等。一、顺序结构02空语句在Python中,pass表示空语句。该语句不执行命令,只是一个占位符,一是为了保证格式完整,二是为了保证语义完整,一般在if条件语句、for-in循环语句或定义函数的语句中配合使用。例如,用for循环输出1~10(不包括10)之间的偶数,其中奇数就用pass语句占个位置。代码如下:一、顺序结构03顺序语句顺序语句是最简单的结构语句,按照语句的先后顺序执行,自上而下,处理好上一条语句的结果后才会继续执行下一条语句。在Python中,一个语句的结束是以换行为标志的。例如,用顺序语句计算圆的面积和周长:02分支结构二、分支结构01单分支结构单分支结构是分支结构中最简单的形式,当且仅当条件语句被满足时,语句块才会被执行,否则跳过语句块,执行后面的语句。单分支的语法结构为:if表达式:语句块一个if语句包含以下5个要素。(1)关键词if。(2)条件表达式。(3)英文冒号(:)。(4)缩进。(5)语句块。其流程图如图3-1所示。二、分支结构01单分支结构例如:比较两个数,取较大值。因为a>b,所以第2个if语句什么都不会输出。二、分支结构01单分支结构注意:(1)关键字if后面有空格,没有空格程序会报错。(2)条件表达式后面的冒号必须是英文冒号,若使用中文冒号,则程序会报错,提示的错误为SyntaxError:invalidcharacter(无效字符)。(3)代码块前面有缩进,缩进在Python中是一种语法格式,必须严格执行。(4)语句块可以是一条语句,也可以是多条语句。如果语句块中只有一条语句,则可以将其表示为如下形式:if

a<b:max=b但是这会影响程序的可读性,不建议使用。二、分支结构02双分支结构双分支结构实现的是二选一的功能,即非此即彼。在Python中,通过if…else…语句实现双分支结构。在双分支结构中,根据判断条件表达式的真假执行不同的语句,如果条件表达式的值是True,则执行if下的语句块1;如果条件表达式的值是False,则执行else下的语句块2。双分支的语法结构为:if表达式:语句块1else:语句块2其流程图如图3-2所示。二、分支结构03多分支结构当判断情况较多时,在Python中可以使用if…elif…else…多分支结构,elif表示否则如果,也是判断语句,但是它不能单独使用,必须和if一起使用。if语句的表达式不成立时,才会执行elif后面的表达式,if与else中间可以有多个elif插入,只有当if和elif后面的表达式都不成立时,才会执行else语句。多分支的语法结构可以表示为:if

表达式1:语句块1elif

表达式2:语句块2····else:语句块n二、分支结构03多分支结构多分支结构和双分支结构一样,表达式可以是布尔值、变量、关系表达式和逻辑表达式。其流程图如图3-3所示。二、分支结构03多分支结构现在利用多分支结构根据以下要求编写程序:根据输入的考试分数分为优秀、良好、合格、差4个等级,考试分数为0~100分。分数在90~100分之间(包括90分和100分)为优秀,分数在70~90分之间(包括70分)为良好,分数在60~70分之间(包括60分)为合格,分数低于60分为差。03循环结构三、循环结构01常用的循环算法1.穷举法穷举法是一种简单的算法,也叫作枚举法,即通过遍历条件范围,逐个试验来找出答案,常用于解决“是否存在”和“有几种可能”的问题。需要注意的是,问题中所涉及的情况应一一列举,不能遗漏,不能重复。理论上,穷举法可以解决可计算领域中的各种问题。尤其是在计算机速度非常快的今天,穷举法的应用领域非常广阔。在实际应用中,通常要解决的问题规模不大,采用穷举法的运算速度是可以接受的。此时,设计一个更高效的算法不值得。利用穷举法解决问题的过程如下。(1)分析题目,确定答案的数据类型和大致范围。(2)遍历范围内的所有情况。(3)对遍历的情况一一验证,输出所有符合条件的答案。三、循环结构01常用的循环算法2.迭代法迭代法就是不断用变量的旧值去推变量的新值的过程,是计算机语言中解决问题的一种基本方法,一般用于数值计算,又称辗转法。利用迭代法解决问题的步骤如下。(1)确定迭代变量:在利用迭代法解决的问题中,根据旧值来不断地更新的变量就是迭代变量。(2)建立迭代关系式:根据变量的前一个值与后一个值之间的关系,建立关系式。(3)对迭代过程进行控制;何时结束迭代。当迭代次数确定时,可以构建固定的循环次数;当迭代次数不确定时,需要进一步分析结束迭代的条件。三、循环结构01常用的循环算法迭代法的优点:(1)迭代法的效率高,运行时间只因循环次数增加而增加。(2)没有额外开销,空间上也没有增加。迭代法的缺点:(1)不容易理解。(2)代码不如递归法的代码简洁。(3)解决复杂问题时困难。三、循环结构01常用的循环算法3.递归法递归法就是子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,是一种描述问题和解决问题的基本方法。递归法常用来解决结构相似的问题。所谓结构相似,是指构成原问题的子问题与原问题在结构上相似,可以用类似的方法解决。具体的整个问题的解决可以分为两部分:第一部分是一些特殊情况,有直接的解法;第二部分与原问题相似,但比原问题的规模小,并且依赖第一部分的结果。三、循环结构01常用的循环算法实际上,递归法是把一个不能或不好解决的大问题转换成一个或几个小问题,再把这些小问题进一步分解成更小的小问题,直至每个小问题都可以直接解决。因此,递归法有以下两个基本要素。(1)边界条件:确定递归到何时终止,也称为递归出口。(2)递归模式:大问题是如何分解为小问题的,也称为递归体。递归函数只有具备了这两个要素,才能在有限次计算后得出结果。三、循环结构01常用的循环算法递归法的优点:(1)大问题化为小问题,可以极大地减少代码量。(2)用有限的语句来定义对象的无限集合。(3)代码更简洁清晰,可读性更好。递归法的缺点:实际上递归法不断地深层调用函数,直到函数有返回值才会逐层地返回,递归法是用栈机制实现的,每深入一层,都要占用一块栈数据区域。因此,递归法涉及运行时的堆栈开销(参数必须压入堆栈保存,直到该层函数调用返回为止),所以有可能出现堆栈溢出的错误。递归和迭代的关系:递归中一定有迭代,但是迭代中不一定有递归,大部分可以相互转换。相对来说,可以用迭代就不用递归,因为递归不断调用函数,浪费空间。三、循环结构02for循环循环语句是Python中执行迭代和穷举法需要使用的语句。Python包含两个循环语句,一个是for循环语句,一个是while循环语句。for循环常常与in搭配组成for…in结构,该结构通常用于枚举和遍历,循环内的语句段会将对象的每一个元素都遍历一次。其语法格式如下:for

变量

in

对象:循环体其中,对象是需要遍历的容器。注意:for循环语句中的英文冒号一定不可以省略。循环体前面是有缩进的。for循环的流程图如图3-4所示。三、循环结构02

for循环for循环语句的执行过程:首先,判断容器中是否有元素,如果有则从容器中取出第一个元素并执行循环体,如果没有则退出循环;之后,判断是否已经遍历完容器中的所有元素,如果没有遍历完,则继续取出一个元素并执行循环体,直到遍历完容器中的所有元素;最后,遍历完所有元素后,for循环自动退出,并继续执行下面的语句。for循环经常跟range()函数一起用。range()函数是Python的一个内置函数,可以生成一系列整数。该函数的语法格式如下:range(start,end,step)三、循环结构02

for循环其中参数的含义如下:start是计数的开始值,其默认值为0,如果开始值为0的话,可以省略不写。end是计数的结束值,但是不包括该值,如range(5)代表的计数范围是0~4。step是计数的步长,也就是两个数之间的间隔,可以省略不写。如果省略,则其默认步长为1,如range(1,11,2)生成1、3、5、7、9这些整数,range(11,1,-2)生成11、9、7、5、3这些整数。三、循环结构03while循环while循环在满足特定条件时才执行循环体,可用于处理一些需要重复处理的相同任务。其语法格式如下:while条件表达式:循环体注意:while循环语句中的冒号一定不要省略。循环体前面是有缩进的。不要忘记添加循环的终止条件,否则会形成死循环。while循环语句执行的具体流程:首先判断条件表达式的值,若其值为True,则执行循环体中的语句。当执行完毕后,再次判断条件表达式的值是否为True,若仍为True,则继续执行循环体,直到条件表达式的值为False才会退出循环。while循环的流程图如图3-5所示。04嵌套循环四、嵌套循环Python是允许在一个循环里面嵌入另一个循环的,这种循环里面嵌入另一个循环的语句被称为循环的嵌套。for循环和while循环都可以进行循环嵌套,位于外层的循环结构被称为外循环,位于内层的循环结构被称为内循环。对于外层循环的每次迭代,内层循环都要完成它的所有迭代。while循环中嵌套while循环的格式如下:while条件语句1:循环体1其他语句while条件语句2:循环体2循环体1其他语句四、嵌套循环for循环中嵌套for循环的格式如下:for

变量1in

对象1:循环体1其他语句for变量2in对象2:循环体2循环体1其他语句while循环中可以嵌套for循环,for循环中也可以嵌套while循环。四、嵌套循环上述语句中的“循环体1其他语句”可以根据实际情况添加或省略。这里以for循环中嵌套for循环为例,做一个九九乘法表。代码如下:运行结果如图3-6所示。05break语句、continue语句和else子句五、break语、continue语句和else子句01break语句break语句的功能是在循环体中强制退出当前循环,用于终止循环语句的执行。该语句必须在循环体内使用,在循环体外使用会报错。break语句通常和if语句一起使用,表示在指定条件下强制退出循环。break语句用于for循环和while循环中,如果用于嵌套循环,则会强制退出它所在的那一层循环然后执行后面的代码。在while循环中使用break语句的格式如下:while条件表达式1:循环体if条件表达式2:break在for循环中使用break语句的格式如下:for变量

in

对象:if条件表达式:break五、break语句、continue语句和else子句02continue语句continue语句的功能是结束本次循环,进入下一次循环,而不退出循环。continue语句同样必须在循环体内使用,在循环体外使用会报错。continue语句通常也和if语句一起使用,表示在满足某个条件后结束本次循环(不书行当前循环后面的语句),然后进行下一次循环。continue语句在while循环和for循环内的使用和break语句类似。例如,在while往环中使用continue语句的格式如下:while条件语句1;循环体if条件语句2:continue五、break语句、continue语句和else子句02conti

温馨提示

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

评论

0/150

提交评论