版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章
流程控制Python程序设计01选择结构02循环结构03本章回顾01选择结构
选择结构也称为分支结构,对应现实生活中的选择问题,比如我们浏览购物网站时,如果喜欢此件商品就选择买下它,如果不喜欢则选择浏览下一个;中午吃饭时可以选择在家做饭,也可以选择点外卖或者去外面餐厅吃。
Python中的选择结构分为单分支(if语句)、双分支(if...else语句)和多分支(if...elif...else语句)三种。if语句介绍单分支使用if语句表达,其基本语法如下:if表达式:
语句块其中表达式可以是布尔值、比较表达式、逻辑表达式等,如果表达式为真则执行“语句块”,如果表达式为假则跳过“语句块”,继续执行后面的语句。单分支的流程图如右图所示。if语句的使用使用if语句的举例如下图所示:score=float(input('请输入您的语文考试成绩:'))if(score<60):print('您的成绩不合格')print('谢谢使用!')if...else语句介绍双分支使用if...else语句表达,其基本语法如下:if表达式:
语句块1else:
语句块2if...else语句可以理解为如果表达式为真就执行语句块1,否则执行语句块2。语句块可以由一条语句组成,也可以由多条语句组成。if...else语句的流程图如下图所示。if...else语句介绍需要注意的是else必须要和if搭配使用,单独使用else会报错,如下图所示:if...else语句的使用if...else语句的使用举例如下图所示:score=float(input('请输入您的语文考试成绩:'))if(score<60):print('您的成绩不合格')else:print('您的成绩合格')print('谢谢使用!')if...elif...else语句介绍多分支就是在双分支语句的基础上,对各种不同情况做进一步的区分,多分支使用if...elif...else语句表达,其基本语法如下:if表达式1:
语句块1elif表达式2:
语句块2elif表达式3:
语句块3......else:
语句块nif...elif...else语句介绍
if...elif...else语句的执行逻辑,即若表达式1为真执行语句块1,否则依次判断后续elif的表达式,直到所有表达式为假则执行else下的语句块n。同时指出如果业务不需要,最后的else语句块可以省略,且没有else语句时就没有其对应的缩进语句。还提到多分支语句有流程图如右图所示。if...elif...else语句的使用接下来我们使用if...elif...else语句将下图中的情况进行进一步区分,如下图所示:score=float(input('请输入您的语文考试成绩:'))if(score<0orscore>100):print('您输入的内容不合法')elif(score>=90):print('您的成绩优秀')elif(score>=70andscore<90):print('您的成绩良好')elif(score>=60andscore<70):print('您的成绩及格')else:print('您的成绩不及格')print('谢谢使用!')if语句的嵌套if语句可以嵌套使用,在开发过程中,可以结合需求选择嵌套方式,这里将“案例1:计算体脂率”中得到的结果用分支结构进行判断,如下图所示。name=input("请输入姓名:")sex=int(input("请输入性别(男为1,女为0):"))age=int(input("请输入年龄:"))height=float(input("请输入身高(单位:m):"))weight=float(input("请输入体重(单位:kg):"))BMI=weight/(height*height)rate=1.2*BMI+0.23*age-5.4-10.8*sexprint('-------------------个人信息—{}--------------------------'.format(name))print(('姓名:{}\n性别:{}\n年龄:{}\n身高(cm):{}\n体重(kg):{}\n''BMI:{}\n体脂率:{}').format(name,sex,age,height,weight,BMI,rate))#使用if嵌套进行判断if(sex==1):if(rate<15):print('您的体型偏瘦')elif(rate>=15andrate<=18):print('您的体型正常')elif(rate>18):print('您的体型偏胖')if(sex==0):if(rate<25):print('您的体型偏瘦')elif(25>=rate<=28):print('您的体型正常')else:print('您的体型偏胖')案例【案例描述】在大学学习阶段,某门课程的期末考试采用“n页开卷”形式考查学生的学习情况。“n页开卷”是指考生可以携带不超过n页A4纸大小的手抄纸质资料进入考场应考。【案例要求】模拟考生进入考场前的身份查验流程,只有具备以下3个条件,才能进入考场参加考试(在本案例中,假设n=3)。学生校园卡姓名出现在考生名单中。学生身份证信息与学生校园卡中的信息一致。 没有携带手抄纸质资料或所携带的手抄纸质资料页数不超过3页。案例02循环结构在日常生活中,人类、动物每天都要吃饭、睡觉,太阳每天都会东升西落,在编程语言中,类似这样反复做同一件事情叫做循环。在Python中主要有while循环和for循环两种类型。while循环介绍while循环又称为条件循环,是通过一个判断条件来控制是否需要反复执行循环体中的语句。while循环由while关键字、条件表达式、冒号和循环体组成,语法如下:while判断条件:
循环体while循环介绍循环体即执行语句,可以是单个语句或语句块,当判断条件为真时则执行循环体,执行完毕后,重新进入while循环进行条件判断,如果判断条件为真时则执行循环体,以此类推,直到判断条件为假时退出循环。while循环的执行过程如右图所示。while循环的使用#构建数据numbers=list(range(1,20,3))print('数字列表:',numbers)#用于存放奇数odd=[]#用于存放偶数even=[]#使用while循环,直到列表中没有元素停止循环while(len(numbers)>0):number=numbers.pop()if(number%2==0):even.append(number)else:odd.append(number)print('奇数:',odd)print('偶数:',even)while循环的使用举例如下图所示。while循环使用总结在使用while循环时,如果条件判断语句一直是True,循环就会一直执行下去,也就是常说的死循环,如右图所示。遇到这种情况,可以单击JupyterNotebook上方的“中断服务”按钮(如右图)强制终止程序。while循环使用总结在使用while循环时,需注意以下几点:①在使用while循环时,需添加将循环条件变为False的代码。②循环体既可以由单个语句组成,也可以由多条语句组成。③如果循环体中的语句尚未确定,可以先使用pass语句占位。for循环介绍for循环也称计次循环、遍历循环,是重复执行一定次数的循环,可以用于数值循环和遍历字符串、列表等序列。for循环由保留字for和in组成,语法如下:for循环变量in对象:
循环体if语句其中循环变量表示每次循环所获得的元素,对象指的是待遍历或迭代的对象,循环体即执行语句,可以是单个语句或语句块。简单理解for循环是由保留字for和in构成的循环结构,它可以从遍历对象中逐一提取元素放到循环变量里,当遍历对象中的所有元素都放入循环变量,且已执行完成循环体操作,那么循环结束,程序退出。for循环的执行过程如右图所示。使用for循环进行数值循环for循环最基本的用法就是进行数值循环,常常和range函数结合使用,举例如右图所示。sum1=0sum2=0sum3=0#计算1到100的累加foriinrange(101):sum1+=iprint('1+2+3+...+100=',sum1)#计算1到100的奇数累加foriinrange(1,101,2):sum2+=iprint('1+3+5+...+99=',sum2)#计算1到100的偶数累加foriinrange(2,101,2):sum3+=iprint('2+4+6+...+100=',sum3)使用for循环进行序列遍历使用for循环可以对字符串、列表、元组等序列类型进行遍历,举例如右图所示。#遍历字符串text1='万事皆有可能'foriinrange(len(text1)):print(i,text1[i])foriintext1:print(i)#遍历列表text2=['岭外音书断','经冬复历春','近乡情更怯','不敢问来人']foriinrange(len(text2)):print(i,text2[i])foritemintext2:print(item)#遍历元组text3=('春','夏','秋','冬')foriinrange(len(text3)):print(i,text3[i])foritemintext3:print(item)#遍历字典#通过items方法或者字典的“键值对”列表text4={'语文':89,'数学':96,'英语':80}foritemintext4.items():print(item)forkey,valueintext4.items():print(key,value)使用for循环进行序列遍历上页的运行结果如右图所示。通过以上案例可以看出字符串、列表、元组的遍历方式基本一致,而字典因为存储的是“键值对”且无序,遍历的方式会有所不同。for循环和enumerate函数在上页代码中,我们为了获取字符串、列表、元组的索引值,采用的方式是range()函数和len()函数结合使用,除此之外,我们还可以借助enumerate()函数同时输出索引值和元素内容。enumerate()函数用于将一个可遍历的数据对象组合成一个索引序列,同时列出数据和数据下标,一般用在for循环当中。enumerate()函数的语法如下:enumerate(sequence,[start=0])enumerate()函数的参数说明如下图所示。参数描述sequence用于指定一个序列、迭代器或其它支持迭代的对象start【可选】用于指定下标起始位置,默认为0for循环和enumerate函数使用for循环和enumerate()函数进行序列遍历的举例如下图所示。list1=['向晚意不适','驱车登古原','夕阳无限好','只是近黄昏']#默认索引从0开始forindex,iteminenumerate(list1):print(index,item)#指定索引从1开始forindex,iteminenumerate(list1,start=1):print(index,item)在Python中,有一种方法可以快速创建序列,就是利用for循环来循环创建序列,也就是推导式。推导式是Python的一种独有特性,列表推导式的语法如下:使用for循环快速创建序列[conditionforvariniterator[ifcondition]]使用for循环快速创建序列其中[ifcondition]是可选的,元组推导式和列表的类似,只是将[]换成(),接下来我们看具体使用,如右图所示。使用for循环快速创建序列上页代码中用到了random模块,Python中的random模块用于生成随机数,其中randint()方法用于生成随机整数,random模块下还有一些其它的用于生成随机数的方法,我们将在第7章展开介绍。字典的推导式与列表、元组有一些不同,其语法如下:使用for循环快速创建序列和列表推导式类似,[ifcondition]是可选的,字典推导式的使用举例如下图所示。循环嵌套和if语句类似,循环也可以嵌套使用,循环嵌套顾名思义就是在一个循环中嵌入另一个循环。循环嵌套可以是两个while循环嵌套、两个for循环嵌套、while循环和for循环嵌套、多层循环嵌套等,在开发过程中,可以结合需求灵活运用。循环嵌套1.使用循环嵌套打印九九乘法表接下来用一个最经典的九九乘法表来了解循环嵌套的使用。如果想要生成如图3-20的九九乘法表,通过观察我们发现,它是由9行9列组成,我们可以用外层循环控制行,里层循环控制列(如下图所示)。循环嵌套打印九九乘法表循环嵌套使用循环嵌套打印空心四边形为了加深对循环嵌套的理解,我们再举一个使用while循环嵌套打印空心四边形的例子,如代码左图所示。循环嵌套也可以使用for循环嵌套实现循环嵌套结合上面的案例,我们可以总结出:一般用外层循环控制行,内层循环控制列。for循环和while循环之间可以相互转化。外层循环执行一次,里层循环会执行多次。循环控制在使用循环语句时,可以使用break语句和continue语句对循环进行控制,break语句用于结束整个循环,continue用于结束当次循环。举个生活中例子,假如你正在看一个电视剧,由于某个演员你不喜欢你想弃剧,不想继续看下去了,此时使用break;如果是某一集剧情设置不合理,你打算跳过本集,继续观看下一集,此时使用continue。除此之外,在Python中还有一个起到占位作用的空语句pass。break语句break语句用于结束当前正在执行的循环(for、while),转而执行这些循环后面的语句。break语句一般与if语句搭配使用,表示在某种条件下跳出循环。break语句的使用形式如下所示:下图为for循环中break语句的执行过程(while循环和for循环类似)。break语句break语句的使用举例如下图所示。continue语句continue语句用于结束当前正在执行的这一次循环(for、while),接着执行下一次循环。即跳过循环体中尚未执行的语句或语句序列,接着进行下一次是否执行循环的判定。continue语句的使用形式如下所示:右图为for循环中continue语句的执行过程(while循环和for循环类似)。continue语句continue语句的使用举例如下图所示。我们可以总结出continue语句只是结束本次循环,进入到下一循环;而break语句则是结束整个循环,不再进行条件判断。pass语句Python中提供了一个pass空语句,表示不做任何事情,应用场景是为了保持程序结构的完整性时,用来占位。举例如下图所示。案例【案例描述】剪刀石头布游戏又称“猜丁壳”、“猜拳”,是比较古老的游戏,游戏的起源可追溯到汉朝的手势令。在中国很小的孩子都会玩这个游戏,因为它的规则很简单,石头克剪刀,剪刀克布,布克石头。这个游戏的主要目的是为了解决争议,因为三者相互制约,因此不论平局几次,总会有胜负的时候。【案例要求】设计一个剪刀石头布游戏,游戏规则如下:①玩家出剪刀或石头或布。②电脑随机输出一个剪刀或石头或布。③将玩家出的结果和电脑出的结果进行比对。案例案例运行结果本章回顾1.关于Python选择结构,描述错误的是()。A.选择结构也称为分支结构,对应现实生活中的选择问题B.Python中的选择结构分为单分支(if语句)、双分支(if...else语句)和多分支(if...elif...else语句)三种C.if...else语句可以理解为,如果表达式为真则执行“语句块”,如果表达式为假则跳过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游系统课课程设计
- 苹果汁蒸发浓缩课程设计
- 智慧化工园区建设的标准规范与关注重点
- 2024餐饮员工劳动合同范本专业版
- 电子闹钟单片机课程设计
- 2024门面租房合同书模板
- 手术室护士血管瘤切除手术护理配合常规
- 数字电路课程设计展望
- 教学反馈与改进方案计划
- 生态环境保护投资合同三篇
- 10的认识说课-完整版课件PPT
- 透射电子显微镜样品制备
- 无机化学第4版下册(吉大宋天佑)2019
- 甲状腺术后乳糜漏的护理PPT课件
- 出租房退房验收表
- 信息报送系统详细设计
- 不可撤销居间劳务报酬承诺书
- 《建筑构造》第九章9-单层工业厂房构造
- 冬季施工方案(铁塔组立古峰
- 免疫系统的组成和功能PPT课件
- GB_T 14976-2012流体输送用不锈钢无缝钢管
评论
0/150
提交评论