Python程序设计及人工智能应用 课件 05 程序控制结构_第1页
Python程序设计及人工智能应用 课件 05 程序控制结构_第2页
Python程序设计及人工智能应用 课件 05 程序控制结构_第3页
Python程序设计及人工智能应用 课件 05 程序控制结构_第4页
Python程序设计及人工智能应用 课件 05 程序控制结构_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

第五章

程序控制结构选择结构01循环结构0201选择结构

单分支选择结构if语句if要判断的条件:

条件成立时,要做的事情……注意:代码的缩进为一个tab键,或者4个空格——建议使用空格单分支选择结构if语句的流程图打印x如果变量x的值大于变量y的值创建变量x,yx,y=4,3ifx>y:print(x)双分支选择结构if-else语句if和else语句以及各自的缩进部分共同是一个完整的代码块If

要判断的条件:

条件成立时,要做的事情 ……else:

条件不成立时,要做的事情 ……双分支选择结构if-else流程图打印‘不适宜户外运动'如果变量AQI的值大于等于75打印'适宜户外运动'是否创建变量AQIAQI=eval(input("请输入PM2.5的值:"))ifAQI>=75:print("不适宜户外运动")else:print("适宜户外运动")多分支选择结构if-elif-else使用if可以判断条件使用else可以处理条件不成立的情况但是,如果希望再增加一些条件,条件不同,需要执行的代码也不同时,就可以使用elifif

条件1:

条件1满足,执行的代码 ……elif

条件2:

条件2满足时,执行的代码 ……elif

条件3:

条件3满足时,执行的代码 ……else:

以上条件都不满足时,执行的代码 ……多分支选择结构if-elif-elsebmi计算bmi=体重(kg)/(身高*身高(米))标准:bmi<18.5过瘦18.5-23.9正常>23.9过胖#bmi计算#bmi=体重(kg)/(身高*身高(米))#bmi<18.5过瘦18.5-23.9正常>23.9过胖#完成输入功能height=float(input('请输入你的身高'))weight=float(input('请输入你的体重'))#完成bmi值的计算bmi=weight/(height*height)print(bmi)#判断bmi的值ifbmi<18.5:print('太瘦了,多吃点吧')elifbmi<23.9:print('非常健康,继续保持!')else:print('瘦点更漂亮哦')多分支选择结构if-elif-else日期判断需求:从控制台输入一个数字,如果是1则输出星期一,如果是2则输出星期二,依次类推num=int(input())#使用if-elif-else语句ifnum==1:print(“星期一")elifnum==2:print("星期二")elifnum==3:print("星期三")elifnum==4:print("星期四")elifnum==5:print("星期五")elifnum==6:print("星期六")elifnum==7:print("星期日")else:print("输入有误")嵌套选择在开发中,使用if进行条件判断,如果希望在条件成立的执行语句中再增加条件判断,就可以使用if的嵌套if的嵌套的应用场景就是:在之前条件满足的前提下,再增加额外的判断if的嵌套的语法格式,除了缩进之外和之前的没有区别嵌套选择if

条件1:

条件1满足,执行的代码 …… if

条件2基础上的条件2:

条件2满足时,执行的代码 …… #条件2不满足的处理 else:

条件2不满足时,执行的代码#条件1不满足的处理else:

条件1不满足时,执行的代码 ……嵌套选择嵌套选择根据用户输入的名字,判断名字是否以"Gumby"结尾,并根据名字的开头部分(如"Mr."或"Mrs.")输出不同的问候语。如果名字不以"Gumby"结尾,则输出“Hello,stranger”。name=input('Whatisyourname?')ifname.endswith('Gumby'):ifname.startswith('Mr.'):print('Hello,Mr.Gumby')elifname.startswith('Mrs.'):print('Hello,Mrs.Gumby')else:print('Hello,Gumby')else:print('Hello,stranger')match语句matchPython中的match语句是Python3.10及以后版本中引入的新特性,用于模式匹配。它允许你根据对象的模式来检查对象,并执行相应的代码块。x=1matchx:case1:print("xis1")case2:print("xis2")case_:print("xisnot1or2")match语句matchmatch语句中的每个代码块由一个或多个case子句组成。每个case子句后面跟着一个模式和一个代码块。当模式匹配成功时,会执行相应的代码块。如果没有任何模式匹配成功,则可以选择使用一个默认的代码块,使用下划线_来表示。x=1matchx:case1:print("xis1")case2:print("xis2")case_:#匹配其他值print("xisnot1or2")match语句matchtext="hello"matchtext:case"hello":print("textis‘hello’")case"world":print("textis‘world’")case_:#匹配其他值

print("xisneither‘hello’or‘world’")match语句match与if的对比ifif语句是最基本的条件控制结构,用于基于条件测试执行不同的代码块。if语句在处理简单条件和分支时非常有用。你可以使用elif(elseif)来添加额外的条件分支。if语句不支持模式匹配,只能基于布尔表达式进行条件判断。matchmatch语句是Python3.10及以后版本引入的新特性,主要用于模式匹配。match语句允许你根据对象的模式结构来检查对象,并根据匹配的模式执行相应的代码块。match语句特别适用于处理复杂的数据结构,如元组、列表、字典等,以及自定义类的实例。它通过模式匹配提供了更简洁、更直观的方式来处理复杂的条件逻辑。小试牛刀1.下列数值填入①处后,不能输出a的是()。if_①__:print(“a”)A.3B.2C.1D.0小试牛刀2.关于Python的分支结构,以下选项中描述错误的是A.分支结构使用if保留字B.Python中if-else语句用来形成二分支结构C.Python中if-elif-else语句描述多分支结构D.分支结构可以向已经执行过的语句部分跳转小试牛刀3.下列Python保留字中,不用于表示分支结构的是A.elifB.inC.ifD.else小试牛刀4.运行下方代码段,输出的是()。A.0B.1C.2D.Nonea,b,c,d=0,1,2,Noneif(aandb):d=a*belif(borc):d=a+celifnotb:d=bprint(d)小试牛刀5.python多条件判断,可以用()来实现。A.elifB.elseC.swtichD.ifelse小试牛刀6.定义一个整数变量age,编写代码判断年龄是否正确要求人的年龄在0-120之间

age=input("请输入年龄")age=int(age)ifage<=120andage>=0:print("输入正确")else:print("输入错误")小试牛刀定义两个整数变量python_score、c_score,编写代码判断成绩要求只要有一门成绩>=60分就算合格

案例实战闰年判断输入一个年份(大于1582的整数),判断这一年是否是闰年,如果是输出1,否则输出0。普通闰年的年份是4的倍数,且不是100的倍数;世纪闰年的年份必须是400的倍数。案例实战三角形判断输入三角形的三条边的长度a,b,c如果三条线段不能组成一个三角形,输出不能组成三角形;如果是直角三角形,输出直角三角形;如果是锐角三角形,输出锐角三角形;如果是钝角三角形,输出钝角三角形;如果是等腰三角形,输出等腰三角形;如果是等边三角形,输出等边三角形。如果这个三角形符合以上多个条件,请分别输出,并用换行符隔开。02循环结构循环结构while循环while语句条件:每次循环开始时,都会检查条件是否为真。如果条件为真,执行循环体;如果条件为假,退出循环。循环体:在条件为真的情况下,重复执行的代码块while

条件:

#循环体语句1语句2…while循环练习:打印5遍HelloPython遇到while语句时,首先计算表达式的值如果表达式的值为假,则跳过整个while语句,继续执行下面的代码;如果表达式的值为真,则执行循环体。执行完“循环体”再次计算“表达式”的值。如此循环往复直到“表达式”的值为假才停止循环#1.定义重复次数计数器i=0#2.使用while判断条件whilei<5:

#要重复执行的代码

print("helloPython")

#处理计数器ii+=1print("循环结束后的i=%d"%i)while循环练习:求和计算1到10的累加和i=1sum=0whilei<11:sum=sum+ii=i+1print(sum)while循环死循环概念:条件始终为真的循环称为死循环在循环语句中,表达式永远为真,致循环持续执行,程序无法终止while1:print("放我出去")for循环基本语法:for

变量

in可迭代对象:#循环体循环语句fruits=["apple","banana","cherry"]forfruitinfruits:

print(fruit)变量:每次迭代时,从可迭代对象中取出一个元素,赋值给这个变量。可迭代对象:可以是列表、元组、字符串、字典、集合等任何可迭代的类型。for循环练习:累加求和range()函数可以用来创建一个数字序列,常用于控制循环次数。常与for循环结合使用来重复执行代码块指定的次数。sum=0foriinrange(1,10):sum=sum+iprint(sum)for循环range()函数形式:range(start,stop,step)参数:start(必需):序列的起始值(包含)。stop(必需):序列的结束值(不包含)。step(可选,默认为1):步长,即每次迭代增加的值。功能:生成从start开始到stop-1的整数序列,每次增加step。foriinrange(1,10,2):print(i)循环的嵌套输出4×4的乘法表(1)使用嵌套for循环,外层循环i控制行,内层循环j控制列;(2)在内层循环中,输出当前的乘积i*j;控制输出格式,使每个数字宽度为4个字符,且数字左对齐;(3)使用end=‘’来避免print默认换行,并且输出结果间用空格分隔;(4)外层循环完成一行后,使用print()输出换行符。foriinrange(1,5):

forjinrange(1,5):

print("{:<4d}".format(i*j),end="")

print()循环的嵌套输出9×9的乘法表的下三角部分(1)外层循环控制行数(1到9);(2)内层循环控制每行输出的列数,根据当前行号i,即每行输出从1到i的乘积;(3)格式化输出确保每个数字占据4个字符宽度,整齐对齐。foriinrange(1,10):#外层循环控制行数,1-9

forjinrange(1,i+1):#内层循环控制列数,最多输出到当前行数

print("{:<4d}".format(i*j),end="")#输出乘积并左对齐

print()#每行输出后换行循环控制break作用:退出循环注意:只能跳出距离最近的for或者while循环在循环过程中,如果某一个条件满足后,不再希望循环继续执行,可以使用break退出循环sum=0foriinrange(1,11): ifi>5: break sum=sum+iprint(sum)循环控制continue作用:跳过本次循环后面的剩余语句,然后继续下一次循环注意:只能跳过距离最近一次的for或者while循环sum=0foriinrange(1,11): ifi<=5:

continue sum=sum+i

温馨提示

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

评论

0/150

提交评论