第3章 控制流程_第1页
第3章 控制流程_第2页
第3章 控制流程_第3页
第3章 控制流程_第4页
第3章 控制流程_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

学院系部名称主讲:授课教师姓名Python基础教程第3章控制流程

程序执行的顺序是从上到下(基本结构是顺序结构)、从里到外(先执行括号内的数据)、从右往左执行。本章的目标是掌握流程控制的语句和基本用法。第3章控制流程第1章初识Python学习目标1.了解程序的基本结构2.掌握if条件语句的使用3.掌握while循环和for循环的使用4.掌握break、continue、pass语句、else语句的使用教学重点掌握if条件语句、while循环和for循环的用法教学方式案例教学法、分组讨论法、自主学习法、探究式训练法课时建议6课时本章主要内容条件语句1循环语句2其他语句3实训43.1条件语句

在Python语言程序中,一共有三种程序结构:顺序结构、分支结构、循环结构。其中分支结构是到某个节点后,会根据一次判断的结果来决定之后向哪一个分支方向执行。本节的目标是掌握分支结构的用法。[学习目标]1.了解程序的基本结构2.掌握简单条件语句的使用3.掌握复杂条件语句的使用4.掌握条件语句不同写法的运用3.1.1If条件语句所谓分支结构,就是按照给定条件有选择的执行程序中的语句。Python条件语句是通过一条或多条if语句的执行结果(True或者False)来决定执行的代码块。条件语句的执行过程,如图3-1所示。在条件表达式中,Python程序语言指定任何非0和非空(null)值为true,0或者null为false。Python编程中if语句用于控制程序的执行。3.1.1If条件语句在Python语言中,实现程序分支结构的语句有:if语句(单分支)、if...else语句(双分支)和if...elif语句(多分支)。if语句的最基本的语法格式:

if<条件表达式>: <语句序列>(1)条件表达式是任意的数值、字符、关系或逻辑表达式,或用其它数据类型表示的表达式。它表示条件,以True(数值为1)表示真,False(数值为0)表示假。注意:条件表达式的结果一定是真或假,条件表达式后有“:”,执行的语句要向右边缩进。(2)<语句序列>称为if语句的内嵌语句序列或子句序列,内嵌语句序列严格的以缩进方式表达,编辑器也会提示程序员开始书写内嵌语句的位置,如果不再缩进,表示内嵌语句在上一行就写完了。执行顺序是:首先计算条件表达式的值,若表达式的值为True,则执行内嵌语句序列,否则不做任何操作。3.1.1If条件语句if...else语句的语法格式:if<条件表达式>: <语句序列1>else: <语句序列2>if...else语句的流程图如图所示。执行顺序是:首先计算表达式的值,若<表达式>的值为True,则执行<语句序列1>,否则执行<语句序列2>。3.1.1If条件语句如例3-1-1。if语句的判断条件可以用>(大于)、<(小于)、==(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)来表示其关系。如例3-1-2中

:ifa>bandb<c:3.1.1If条件语句当判断条件为多个值是,实际处理的问题有多种条件时,就要用到多分支结构。如图所示。3.1.1If条件语句多分支结构为if...elif…else语句,语法格式如下:

if<表达式1>: <语句序列1>

elif<表达式2>: <语句序列2> ...

elif<表达式n>: <语句序列n>else: <语句序列n+1>

执行顺序是:首先计算<表达式1>的值,若其值为True,则执行<语句序列1>;否则,继续计算<表达式2>的值,若其值为True,则执行<语句序列2>;依此类推,若所有表达式的值都为False,则执行<语句序列n+1>。(1)不管有几个分支,程序执行了一个分支以后,其余分支不再执行。(2)当多分支中有多个表达式同时满足条件,只执行第一条与之匹配的语句。3.1.1If条件语句例3-1-3通过键盘输入用户权限的级别数字,如果为3,输出“老板”,如果为2,输出“客户”,如果为1,输出“员工”,如果为其他的,输出“权限输入错误”。例3-1-3判定用户输入操作示例3.1.1If条件语句由于python并不支持switch语句,所以多个条件判断,只能用elif来实现,如果判断需要多个条件需同时判断时,可以使用or(或),表示两个条件有一个成立时判断条件成功;使用and(与)时,表示只有两个条件同时成立的情况下,判断条件才成功。例3-1-4判断数值区间当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外and和or的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。3.1.2实践运用【描述】通过键盘输入a,b两个数,检查两个数的大小进行输出,如果a大于b,输出“a大于b”;如果相等,输出“a等于b”;如果a小于b,输出“a大于b”。用以下三种方式分别实现1.if多分支语句2.if嵌套语句3.多个if语句

【分析】按案例描述中,输入a,b的代码是相同的,判定条件是相同的,那三种方式其实是对if条件语句的不同运用。if多分支语句是用复杂条件语句实现;if嵌套语句,从每一个if结构来看,本质是由简单条件语句if...else...组成,是语句序列中再包含简单条件语句。多个if语句,就是把所有情况都使用if表达出来。3.2循环语句

在Python语言程序中,一共有三种程序结构:顺序结构、分支结构、循环结构。其中循环结构有一个循环体,循环体里是一段代码。对于循环结构来说,关键在于根据判断的结果,来决定循环体执行多少次。本节的目标是掌握循环结构的用法。[学习目标]1.了解程序的基本结构2.掌握while循环语句的使用3.掌握for循环语句的使用4.掌握循环嵌套的运用3.2.1循环语句如果在给定条件成立时,某一操作需要反复执行,直到条件不成立时为止。此时就需要使用循环结构,使用循环语句,给定的条件称为循环条件,反复执行的程序称为循环体。循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式如图所示。3.2.1循环语句Python提供了for循环和while循环(Python中没有do..while循环),如表所示:循环类型描述while循环在给定的判断条件为true时执行循环体,否则退出循环体。for循环重复执行语句嵌套循环1.while循环体中嵌套while循环或for循环,2.for循环体中嵌套while循环或for循环3.2.2While循环语句Python编程中while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:while判断条件:

执行语句……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

当判断条件假false时,循环结束。While循环操作过程如图所示。3.2.2While循环语句

使用while循环的时候,根据变化的情况定义变量,有几个可定义几个。条件中的变量需要有初始值,初始值一般在循环前要定义。例3-2-1计算1-100的数字和While循环可以和条件语句结合起来使用,在某一条件下执行循环时,可以在条件下进行循环,while循环写在if条件的语句序列中。也可在循环体内嵌入if条件,只有在满足条件时,循环才进行操作。例3-2-2计算1-100的偶数和:3.2.2While循环语句在while循环时,如果条件判断语句永远为true,循环将会无限的执行下去。如例3-2-3,在计算1-100的数字和时,加数变量不定义改变,即缺少i+=1语句时,会进入无限循环(即死循环)状态。例3-2-3死循环操作示例无限循环使用CTRL+C来中断循环。提示:While循环中,循环变量需要在循环体外初始化,变量的变化需要进行控制,循环条件需要进行定义。3.2.3for循环语句循环语句除了while循环外,还有一种for循环语句。Python中,for循环语句在有些场合使用比较简单。基本内容是:for循环变量in序列,序列可以是字符串、列表、元组等,也可是一个表示范围或序列的函数,也可以直接是一个序列数据。for循环可以遍历任何序列的项目,for循环的语法格式如下: for循环变量in序列:

循环体for循环流程图如图所示:3.2.3for循环语句在for循环中,序列数据经常用函数range()表示。range()函数有三个参数,书写格式如下所示: range(初始值,结束值,步进值)range()函数包括初始值,不包括结束值。初始值默认为1,步进值默认也为1。如只有一个参数那作结束值处理,初始值和步进值都用默认值。如果有两个参数,那作初始值和结束值处理,步进值默认为1。

如1-100数字,表示为一个序列,可以用函数range()表示,表示为range(1,101)。如果表示1-100中的偶数,可以表示为range(2,101,2)。因此,对3.2.2while循环语句中的例3-2-1和例3-2-2代码改写如下3.2.3for循环语句提示:1.for循环中,循环变量不需要初始化,变量可作为范围中的成员看待,初始值就是范围的第一个元素,结束值是最后一个元素,变量的变化是按有规律的等差数列进行的。2.for循环体内不需要改变循环变量,循环变量值不会超过循环体的值范围,循环变量自动在范围内偏移进行循环进行变化,从而控制循环次数和变量。

3.2.4循环嵌套在复杂的程序中,一个循环往往解决不了问题,一个循环还需要再包含其他循环,形成循环嵌套。Python语言允许在一个循环体里面嵌入另一个循环。Pythonfor循环嵌套语法:for循环变量iin序列:for循环变量jin序列:

循环体

循环体Pythonwhile循环嵌套语法:while表达式:while表达式:

循环体

循环体3.2.4循环嵌套在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环,反之,在for循环中嵌入while循环。循环嵌套有很多规则,常见的有多行多列输出。外层循环是行输出,嵌套的内层循环是列输出。例3-2-6使用循环输出如下图形:******从上述图形可以看出,第一行显示一个*号,第二显示两个*,第三行显示三个*号。此处有两个循环,第一个是行的循环,用外层循环来控制行,第二个是*号循环(列的循环),用内层循环来控制列,显示符号的个数。3.2.4循环嵌套使用while循环嵌套,代码如下:使用for循环嵌套,代码如下:3.2.5实践运用【描述】

输出九九乘法表

请分别试着用while循环语句和for循环语句实现九九乘法表,了解内层循环控制的终点(在终点是变化的情况下)【分析】

九九乘法表是两个数乘积的表,一个是行,从1到9,一个是列,也是从1到9,这样两数乘积的值即为九九乘法表的值。因此程序结构应该是一个嵌套循环,首先是外层循环,控制行的输出,一个是内层循环,控制列的输出。但在列输出的时候,不能出现重复的值,所以列的值不能超过行的值。3.3其他语句

循环语句时还有另外几个重要的命令continue、break、pass,continue、break用来跳过循环,continue用于跳过该次循环,break则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立。Pass用来表示空语句,保持程序的完整性。[学习目标]1.了解程序的基本结构2.掌握break语句退出整个循环的方法3.掌握continne语句退出当前循环,继续下一循环的方法4.掌握pass空语句的运用5.掌握else语句的运用3.3.1break语句break语句用来终止整个循环(当前循环),即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。break语句用在while和for循环中。如果使用嵌套循环,break语句将停止执行当前的循环,并开始执行下一行代码。Python语言break语句语法:break流程图如图所示。3.3.1break语句例3-3-1break退出循环在循环中,如果i变量值是h,则执行break语句,退出整个循环,程序只显示前三次循环。3.3.1break语句break语句作用比较特殊,只能用在循环中表示退出循环,除此之外不能单独使用。在循环嵌套时,如果使用break退出循环,注意退出循环的级别。Break语句用在嵌套循环中时,只对最近的一层循环起作用。例3-3-2使用嵌套循环输出2~100之间的素数:程序在执行到99次循环之后,退出整个循环,但程序的输出不算最后的“输出结束!”,实际只有25次,3.3.2continue语句continue语句用来跳出本次循环,而break跳出整个循环。continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。Python语言continue语句语法格式如下: continue

流程图如图所示。3.3.2continue语句例3-3-3continue退出本次循环在循环中,如果letter变量值是h,则此次循环不执行,所以程序运行结果不显示“当前字母是:h”。

提示:1.continue语句只能用在循环中,除此之外不能单独使用。2.continue语句用在嵌套循环中时,只对最近的一层循环起作用。3.3.3pass语句Pythonpass是空语句,是为了保持程序结构的完整性。Pass不做任何事情,一般就作占位语句。Python语言pass语句语法格式如下: pass 例3-3-4pass占位语句如果是h,先执行pass空语句,但其实什么事情也不做。3.3.4else语句

在条件语句中,if条件语句的范围之外有else语句,表示满足if条件之外的所有其他情况。在python中,while循环和for循环也同样可以使用else语句。在循环中使用else语句时,else语句只在循环执行结束后。1.while循环使用else语句

在python中,while…else表示这样的意思,while中的语句和普通的没有区别,else中的语句会在循环正常执行完(即while不是通过break跳出而中断的)的情况下执行。例3-3-5:while循环中else语句注意:循环变量是为5时结束循环。3.3.4else语句2.for循环使用else语句在python中,for…else表示这样的意思,for中的语句和普通的没有区别,else中的语句会在循环正常执行完(即for不是通过break跳出而中断的)的情况下执行。例3-3-6for

温馨提示

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

评论

0/150

提交评论