第四章流程控制.ppt
- 文档编号:2503335
- 上传时间:2022-10-30
- 格式:PPT
- 页数:48
- 大小:690KB
第四章流程控制.ppt
《第四章流程控制.ppt》由会员分享,可在线阅读,更多相关《第四章流程控制.ppt(48页珍藏版)》请在冰豆网上搜索。
2022/10/301Python语言编程导论语言编程导论第第四四章章流程控制流程控制内容提要内容提要概述概述条件语句条件语句循环语句循环语句跳转语句跳转语句综合实例综合实例2022/10/302一、概述一、概述任何算法(程序)都可以由顺序结构、选择结构任何算法(程序)都可以由顺序结构、选择结构和循环结构这三种基本结构组合来实现。
和循环结构这三种基本结构组合来实现。
之前编写的程序都是顺序结构的,即依次执行程之前编写的程序都是顺序结构的,即依次执行程序中的每条语句。
序中的每条语句。
但实际的程序并非如此简单,经常要用到条件判但实际的程序并非如此简单,经常要用到条件判断或反复执行某一个程序段,这就要用到选择结断或反复执行某一个程序段,这就要用到选择结构和循环结构。
构和循环结构。
本章介绍条件语句、循环语句及跳转语句。
本章介绍条件语句、循环语句及跳转语句。
2022/10/303二、条件语句二、条件语句条件语句能够改变条件语句能够改变Python程序的执行流程,程序的执行流程,是执行这个代码块还是另一个代码块。
是执行这个代码块还是另一个代码块。
凡是需要判断来确定下一步如何执行的程凡是需要判断来确定下一步如何执行的程序都要使用条件语句。
序都要使用条件语句。
2022/10/3041、if/else语句语句
(1)单分支)单分支格式:
格式:
if(表达式表达式):
语句序列语句序列功能:
功能:
如果条件表达如果条件表达式的值为真,则执行式的值为真,则执行后面的后面的语句序列。
语句序列。
2022/10/305例例4-1:
判断用户的输入,如果输入的数值判断用户的输入,如果输入的数值大于大于0,则在屏幕上显示,则在屏幕上显示“正数正数”。
2022/10/306执行结果:
执行结果:
(2)双分支)双分支格式:
格式:
if(表达式表达式):
语句序列语句序列1else:
语句序列语句序列2功能:
功能:
如果如果“条件表达式条件表达式”的判断结果为真,则执行语的判断结果为真,则执行语句序列句序列1;否则,执行语句;否则,执行语句序列序列2。
2022/10/307例例4-2:
判断用户的输入,如果输入的数值大于判断用户的输入,如果输入的数值大于0,则在,则在屏幕上显示屏幕上显示“正数正数”;否则在屏幕上显示;否则在屏幕上显示“不是不是正数正数”。
2022/10/308执行结果:
执行结果:
2、ifelifelse语句语句if/elif语句是语句是if语句的扩展版本,它包含多个条语句的扩展版本,它包含多个条件,用于作出复杂的决策。
件,用于作出复杂的决策。
例例4-3:
假设航空公司提供了儿童优惠票价:
不:
假设航空公司提供了儿童优惠票价:
不超过超过2岁的儿童免票;岁的儿童免票;2-13岁的儿童打折;岁的儿童打折;13岁及以上儿童与成人同价。
岁及以上儿童与成人同价。
2022/10/3093、if语句嵌套语句嵌套if语句内还可以使用语句内还可以使用if语句,这样就构成了语句,这样就构成了if语句语句的嵌套。
的嵌套。
格式:
格式:
if(表达式表达式1):
if(表达式表达式2):
语句序列语句序列1elif(表达式表达式3):
语句序列语句序列2else:
语句序列语句序列3elif(表达式表达式n):
else:
2022/10/3010例例4-4输入三个整数,输出最大数输入三个整数,输出最大数2022/10/30114、条件表达式、条件表达式Python也有类似于也有类似于C+的条件表达式,的条件表达式,其格式为:
其格式为:
表达式表达式1if表达式表达式2else表达式表达式3功能:
功能:
先计算表达式先计算表达式2的值,如果其值为真,的值,如果其值为真,则表达式则表达式1的值就是整个表达式的值;否则的值就是整个表达式的值;否则表达式表达式3的值就是整个表达式的值。
的值就是整个表达式的值。
2022/10/3012例例4-5:
求两个数:
求两个数a和和b中较大值中较大值2022/10/3013执行结果:
执行结果:
课堂练习一:
课堂练习一:
课堂练习一课堂练习一说明:
说明:
Python2.x中硬性规定,字符串比整型数大,中硬性规定,字符串比整型数大,但但Python3.x这两种类型不能比较,需要转这两种类型不能比较,需要转换为同一类型。
换为同一类型。
2022/10/3014三、循环语句三、循环语句循环用于重复地执行代码块。
循环用于重复地执行代码块。
Python中有两种主要的循环:
中有两种主要的循环:
for循环和循环和while循环。
循环。
for循环通常比循环通常比while循环更容易使用,也循环更容易使用,也不那么容易出错,但没有不那么容易出错,但没有while循环灵活。
循环灵活。
2022/10/30151、for循环循环格式:
格式:
for变量变量in集合集合:
功能:
每次从集合中取出一个值,并把值赋给变量。
集合功能:
每次从集合中取出一个值,并把值赋给变量。
集合可以是元组、列表、字典等数据结构。
可以是元组、列表、字典等数据结构。
说明:
说明:
for循环通常与循环通常与range()函数一起使用,函数一起使用,range()函数返回一个函数返回一个列表,列表,for循环遍历列表中的元素。
循环遍历列表中的元素。
range()函数格式:
函数格式:
range(start,stop,step),参数,参数start表示列表开始值,默认为表示列表开始值,默认为0;参数;参数stop表示列表结束值,不能缺表示列表结束值,不能缺省,循环到省,循环到stop-1停止;参数停止;参数step表示步长,默认值为表示步长,默认值为1。
2022/10/3016例例4-6:
for循环示例循环示例2022/10/3017例例4-7:
求:
求1+2+3+1002022/10/3018执行结果:
执行结果:
2、while循环循环格式:
格式:
while条件表达式条件表达式:
语句序列语句序列功能:
当条件表达式功能:
当条件表达式为为真真时,依次执行时,依次执行while中的语句,直中的语句,直到循环表达式的值为到循环表达式的值为假假。
2022/10/3019例例4-8:
求:
求1+2+3+1002022/10/3020执行结果:
执行结果:
3、for循环和循环和while循环比较循环比较一般来说,固定次数的循环问题使用一般来说,固定次数的循环问题使用for循循环和环和while循环都可以解决,而循环次数循环都可以解决,而循环次数不固定的循环问题只能使用不固定的循环问题只能使用while循环解循环解决。
决。
2022/10/3021例例4-9:
分别使用:
分别使用for和和while循环计算循环计算n!
2022/10/3022使用使用for循环:
循环:
使用使用while循环:
循环:
例例4-10:
计算已知个数数字的总和:
计算已知个数数字的总和2022/10/3023用用for循环:
循环:
用用while循环:
循环:
执行结果:
执行结果:
例例4-11:
计算未知个数数字的总和:
计算未知个数数字的总和计算未知个数数字的总和就无法使用计算未知个数数字的总和就无法使用for循循环完成了,只能使用环完成了,只能使用while循环。
循环。
2022/10/3024执行结果:
执行结果:
4、循环嵌套、循环嵌套与条件语句相同,循环也可以嵌套。
与条件语句相同,循环也可以嵌套。
例例4-12:
输出乘法九九表。
:
输出乘法九九表。
2022/10/3025执行结果:
执行结果:
2022/10/3026四、跳转语句四、跳转语句与与C、C+类似,在类似,在Python中除了提供中除了提供顺序执行和选择控制、循环控制语句外,顺序执行和选择控制、循环控制语句外,还提供了一类跳转语句。
这类语句的总体还提供了一类跳转语句。
这类语句的总体功能是中断当前某段程序的执行,并跳转功能是中断当前某段程序的执行,并跳转到程序的其他位置继续执行。
到程序的其他位置继续执行。
Python的跳转语句有:
的跳转语句有:
break语句和语句和continue语句。
语句。
2022/10/3027跳转语句的作用及区别:
跳转语句的作用及区别:
breakbreak语句的作用是:
语句的作用是:
结束当前正在执行的循环结束当前正在执行的循环(forfor、whilewhile),),转而执行这些结构后面的语句。
转而执行这些结构后面的语句。
continuecontinue语句的作用是:
语句的作用是:
结束当前正在执行的这一结束当前正在执行的这一次循环(次循环(forfor、whilewhile),接着执行下一次循环。
即),接着执行下一次循环。
即跳过循环体中尚未执行的语句,接着进行下一次是跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
否执行循环的判定。
continuecontinue语句和语句和breakbreak语句的区别是:
语句的区别是:
continuecontinue语语句只结束本次循环,而不是终止整个循环的执行。
句只结束本次循环,而不是终止整个循环的执行。
而而breakbreak语句则是结束整个循环,不再进行条件判语句则是结束整个循环,不再进行条件判断。
断。
2022/10/3028例例4-13:
计算未知个数数字的总和(利用:
计算未知个数数字的总和(利用break语句)语句)2022/10/3029例例4-14:
输出:
输出1100之间的不能被之间的不能被7整除整除的数。
的数。
2022/10/3030执行结果:
执行结果:
课堂练习二:
课堂练习二:
课堂练习二2022/10/3031五、综合实例五、综合实例1、求任意非负数的平方根。
没有精确算法,、求任意非负数的平方根。
没有精确算法,常用的近似算法有:
常用的近似算法有:
穷举法穷举法二分法二分法牛顿牛顿拉夫逊算法拉夫逊算法2022/10/3032穷举法:
穷举法:
取较小的步长生成猜测值(顺序地);取较小的步长生成猜测值(顺序地);检查是否足够接近结果。
检查是否足够接近结果。
反复执行上述步骤。
反复执行上述步骤。
2022/10/30332022/10/3034执行结果:
执行结果:
2022/10/3035在穷举法中,步长可以取任意小数值,但在穷举法中,步长可以取任意小数值,但是:
是:
如果步长太小了,程序执行会花较长时间如果步长太小了,程序执行会花较长时间如果步长太大了,可能会跳过最近似的答案如果步长太大了,可能会跳过最近似的答案还有更有效的方法。
还有更有效的方法。
二分法:
二分法:
根据数学定义,根据数学定义,x的平方根位于的平方根位于0x之间。
之间。
尽管在穷举法中,我们从尽管在穷举法中,我们从0开始进行猜测,开始进行猜测,但实际上可以取这个范围的中间值。
但实际上可以取这个范围的中间值。
如果幸运,这个答案即最近似的结果。
如果幸运,这个答案即最近似的结果。
2022/10/30362022/10/3037如果猜测值不足够近似,太大或太小怎么办?
如果猜测值不足够近似,太大或太小怎么办?
如果如果g*2x,则,则g太大,现在应查找:
太大,现在应查找:
如果新的如果新的g,例如,例如g*2x,则,则g太小了,应查太小了,应查找:
找:
每次减少值的范围的一半。
每次减少值的范围的一半。
2022/10/3038执行结果:
执行结果:
关于二分法算法的说明:
关于二分法算法的说明:
二分查找算法从根本上减少了计算时间;二分查找算法从根本上减少了计算时间;二分查找算法必须用于有序的数据。
二分查找算法必须用于有序的数据。
2022/10/3039牛顿牛顿拉夫逊算法:
拉夫逊算法:
通常,求一个变量多项式的根的近似算法为:
通常,求一个变量多项式的根的近似算法为:
求求r使得使得p(r)=0例如,求例如,求24的平方根,即求的平方根,即求p(x)=x2-24的根,的根,则牛顿近似公式为:
则牛顿近似公式为:
具体到本例,近似公式为:
具体到本例,近似公式为:
g-(g2-24)/2g2022/10/30402022/10/3041执行结果:
执行结果:
2、编写猜秘密数的程序、编写猜秘密数的程序由用户想一个由用户想一个0100之间的整数(包括之间的整数(包括0,不包括,不包括100),由计算机来猜。
由用户),由计算机来猜。
由用户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 流程 控制