您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Python第四章流程控制课件
2020/3/81Python语言编程导论第四章流程控制内容提要•概述•条件语句•循环语句•跳转语句•综合实例2020/3/82一、概述•之前编写的程序都是顺序结构的,即依次执行程序中的每条语句。•但实际的程序并非如此简单,经常要用到条件判断或反复执行某一个程序段,这就要用到条件语句和循环语句。•本章介绍条件语句、循环语句及跳转语句。2020/3/83二、条件语句•条件语句能够改变Python程序的执行流程,是执行这个代码块还是另一个代码块。•凡是需要判断来确定下一步如何执行的程序都要使用条件语句。2020/3/841、if/else语句(1)单分支•格式:if(表达式):语句序列•功能:如果条件表达式的值为真,则执行后面的语句序列。2020/3/85例4-1:判断用户的输入,如果输入的数值大于0,则在屏幕上显示“正数”。2020/3/86执行结果:(2)双分支•格式:if(表达式):语句序列1else:语句序列2功能:如果“条件表达式”的判断结果为真,则执行语句序列1;否则,执行语句序列2。2020/3/87条件表达式语句序列1语句序列2YN例4-2:•判断用户的输入,如果输入的数值大于0,则在屏幕上显示“正数”;否则在屏幕上显示“不是正数”。2020/3/88执行结果:2、if…elif…else语句•if/elif语句是if语句的扩展版本,它包含多个条件,用于作出复杂的决策。•例4-3:假设航空公司提供了儿童优惠票价:不超过2岁的儿童免票;2-13岁的儿童打折;13岁及以上儿童与成人同价。2020/3/893、if语句嵌套•if语句内还可以使用if语句,这样就构成了if语句的嵌套。•格式:if(表达式1):if(表达式2):语句序列1elif(表达式3):语句序列2…else:语句序列3elif(表达式n):…else:…2020/3/810例4-4输入三个整数,输出最大数2020/3/8114、条件表达式•Python也有类似于C++的条件表达式,其格式为:•表达式1if表达式2else表达式3•功能:先计算表达式2的值,如果其值为真,则表达式1的值就是整个表达式的值;否则表达式3的值就是整个表达式的值。2020/3/812例4-5:求两个数a和b中最大值2020/3/813执行结果:课堂练习一:•课堂练习一•说明:–Python2.x中硬性规定,字符串比整型数大,但Python3.x这两种类型不能比较,需要转换为同一类型。2020/3/814三、循环语句•循环用于重复地执行代码块。•Python中有两种主要的循环:for循环和while循环。•for循环通常比while循环更容易使用,也不那么容易出错,但没有while循环灵活。2020/3/8151、for循环•格式:for变量in集合:…•功能:每次从集合中取出一个值,并把值赋给变量。集合可以是元组、列表、字典等数据结构。•说明:–for循环通常与range()函数一起使用,range()函数返回一个列表,for循环遍历列表中的元素。–Range()函数格式:range(start,stop[,step]),参数start表示列表开始值,默认为0;参数stop表示列表结束值,不能缺省,循环到stop-1停止;参数step表示步长,默认值为1。2020/3/816例4-6:for循环示例2020/3/817例4-7:求1+2+3+…+1002020/3/818执行结果:2、while循环•格式:while条件表达式:语句序列•功能:当条件表达式为真时,依次执行while中的语句,直到循环表达式的值为假。2020/3/819例4-8:求1+2+3+…+1002020/3/820执行结果:3、for循环和while循环比较•一般来说,固定次数的循环问题使用for循环和while循环都可以解决,而循环次数不固定的循环问题只能使用while循环解决。2020/3/821例4-9:分别使用for和while循环计算n!2020/3/822使用for循环:使用while循环:例4-10:计算已知个数数字的总和2020/3/823用for循环:用while循环:例4-11:计算未知个数数字的总和•计算未知个数数字的总和就无法使用for循环完成了,只能使用while循环。2020/3/8245、循环嵌套•与条件语句相同,循环也可以嵌套。•例4-12:输出乘法九九表。2020/3/825执行结果:2020/3/826四、跳转语句•与C、C++类似,在Python中除了提供顺序执行和选择控制、循环控制语句外,还提供了一类跳转语句。这类语句的总体功能是中断当前某段程序的执行,并跳转到程序的其他位置继续执行。•Python的跳转语句有:break语句和continue语句。2020/3/827跳转语句的作用及区别:•break语句的作用是:结束当前正在执行的循环(for、while),转而执行这些结构后面的语句。。•continue语句的作用是:结束当前正在执行的这一次循环(for、while),接着执行下一次循环。即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。•continue语句和break语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行。而break语句则是结束整个循环,不再进行条件判断。2020/3/828例4-13:计算未知个数数字的总和(利用break语句)2020/3/829例4-14:输出1~100之间的不能被7整除的数。2020/3/830执行结果:课堂练习二:•课堂练习二2020/3/831五、综合实例1、求任意非负数的平方根。没有精确算法,常用的近似算法有:•穷举法•二分法•牛顿—拉夫逊算法2020/3/832穷举法:•取较小的步长生成猜测值(顺序地);•检查是否足够接近结果。•反复执行上述步骤。2020/3/8332020/3/834执行结果:2020/3/835•在穷举法中,步长可以取任意小数值,但是:–如果步长太小了,程序执行会花较长时间–如果步长太大了,可能会跳过最近似的答案•还有更有效的方法。二分法:•根据数学定义,x的平方根位于0—x之间。•尽管在穷举法中,我们从0开始进行猜测,但实际上可以取这个范围的中间值。•如果幸运,这个答案即最近似的结果。2020/3/8362020/3/837•如果猜测值不足够近似,太大或太小怎么办?•如果g**2x,则g太大,现在应查找:•如果新的g,例如g**2x,则g太小了,应查找:•每次减少值的范围的一半。2020/3/838执行结果:关于二分法算法的说明:•二分查找算法从根本上减少了计算时间;•二分查找算法必须用于有序的数据。2020/3/839牛顿—拉夫逊算法:•通常,求一个变量多项式的根的近似算法为:•求r使得p(r)=0•例如,求24的平方根,即求p(x)=x2-24的根,则牛顿近似公式为:•具体到本例,近似公式为:g-(g2-24)/2g2020/3/8402020/3/841执行结果:2、编写猜秘密数的程序•由用户想一个0—100之间的整数(包括0,不包括100),由计算机来猜。由用户给一个输入,是低了还是高了,使用用二分查找算法,计算机将猜到用户的秘密数。2020/3/842执行过程(设用户想的秘密数是83):2020/3/8432020/3/844人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。
本文标题:Python第四章流程控制课件
链接地址:https://www.777doc.com/doc-4229425 .html