1、4.3 运用选择结构描述问题求解过程第 四 章授课人:XXX知识回顾运用顺序结构描述问题求解过程顺序结构特点:自上而下执行应用输出语句print()格式三个参数输入语句input()格式返回字符串类型数据类型转换函数需掌握的知识程序语言基础知识常量、变量数据类型运算符、表达式函数三种基本控制结构顺序结构选择结构循环结构if语句的应用ifelifelse语句的应用if语句的应用01从键盘分别输入体重、身高,请你编写程序计算BMI指数,并根据BMI指数判断是否为正常体重。(18.5=BMI24为正常体重)实例:根据BMI指数判断体重状态1.01.分析问题实例:根据BMI指数判断体重状态1.0从键盘
2、分别输入体重、身高,请你编写程序计算BMI指数,并根据BMI指数判断是否为正常体重。(18.5=BMI24为正常体重)已知的数据是什么?求解的数据是什么?体重、身高BMI指数条件:18.5=BMI24,则为正常体重判断:是否为正常体重实例:根据BMI指数判断体重状态1.02.设计算法输入体重w输入身高h计算BMI指数:bmi=w/h2开始输入体重w输入身高hbmi=w/h2结束输出bmi输出bmi实例:根据BMI指数判断体重状态1.02.设计算法输入体重w输入身高h计算BMI指数:bmi=w/h2开始输入体重w输入身高hbmi=w/h2结束18.5bmi24?输出”体重正常”YN输出bmi输出
3、bmi如果18.5bmi24,则输出“体重正常”单分支if语句条件表达式语句AYNif语句执行过程如果条件表达式为真,则执行语句A,然后继续往下执行如果条件表达式为假,则不执行语句A,然后继续往下执行条件表达式可以是关系表达式也可以是逻辑表达式注意:单分支if语句语句格式if(条件表达式):语句A单分支if语句语句格式if (条件表达式):语句A注意事项:if后面要空1个空格再写条件表达式 if(条件表达式)后面加冒号“:”,是英文状态下的“:”写语句A之前要缩进,也就是空4个空格或按1次Tab键 单分支if语句一起来找茬:找出格式书写正确的程序段if 18.5=bmi24print(“体重正
4、常”)if 18.5=bmi24:print(“体重正常”)if:18.5=bmi24print(“体重正常”)if 18.5=bmi24:print(“体重正常”)if(条件表达式):语句A单分支if语句一起来找茬:找出格式书写正确的程序段if 18.5=bmi24print(“体重正常”)if 18.5=bmi24:print(“体重正常”)if:18.5=bmi24print(“体重正常”)if 18.5=bmi24:print(“体重正常”)无冒号冒号位置错误无缩进if(条件表达式):语句A单分支if语句关于“缩进”,需注意:当语句A是由多个语句构成的复合语句时,所有语句严格遵循相同的
5、缩进if 18.5=bmi24:print(“体重正常”)print(“请继续保持!”)if 18.5=bmi24:print(“体重正常”)print(“请继续保持!”)实例:根据BMI指数判断体重状态1.03.编写程序开始输入体重w输入身高hbmi=w/h2结束18.5bmi24?输出”体重正常”YN输出bmiw=float(input(请输入体重:)h=float(input(请输入身高:)bmi=w/h*2print(BMI指数为:,bmi)if 18.5=bmi24:print(“体重正常”)实例:根据BMI指数判断体重状态1.04.调试运行程序实例:根据BMI指数判断体重状态1.0
6、4.调试运行程序发现:当体重偏轻或偏重时,程序没有相应的提示信息,该如何解决?实例:根据BMI指数判断体重状态2.0优化程序输入体重w输入身高h计算BMI指数:bmi=w/h2开始输入体重w输入身高hbmi=w/h2结束18.5bmi24?输出”体重正常”YN输出bmi输出bmi如果18.5bmi24,则输出“体重正常”否则,输出“体重不正常”输出”体重不正常”双分支if语句if语句执行过程如果条件表达式为真,则执行语句A,然后继续往下执行如果条件表达式为假,则执行语句B,然后继续往下执行条件表达式语句AYN语句B双分支if语句语句格式if(条件表达式):语句Aelse:语句B注意事项:if和
7、else对齐;else后面加冒号“:”当语句A和语句B由多个语句构成时,所有语句严格遵循相同的缩进实例:根据BMI指数判断体重状态2.0补充程序w=float(input(请输入体重:)h=float(input(请输入身高:)bmi=w/h*2print(BMI指数为:,bmi)if 18.5=bmi24:print(“体重正常”)else:print(“体重不正常”)开始输入体重w输入身高hbmi=w/h2结束18.5bmi24?输出”体重正常”YN输出bmi输出”体重不正常”实例:根据BMI指数判断体重状态2.0调试运行程序新知检验a=1b=2if ab:a=bprint(a)a=3b=
8、2if ab:a=belse:a=-bprint(a)请阅读以下程序题,判断输出的结果a=3b=2if ab:a=bprint(a)23-2新知检验问题1:输入某同学信息技术考试成绩(0-100),判断是否通过考试。如果60分及以上,则通过考试,输出“通过”;如果60分以下,则输出“不通过”。请完善该程序:score=(input(“请输入考试成绩:”)if :print(“通过”)print(“不通过”)新知检验问题1:输入某同学信息技术考试成绩(0-100),判断是否通过考试。如果60分及以上,则通过考试,输出“通过”;如果60分以下,则输出“不通过”。请完善该程序:score=(inpu
9、t(“请输入考试成绩:”)if :print(“通过”)print(“不通过”)int60=score=100else:新知检验问题2:项目小组成员在某购物网站上了解到某种笔记本搞优惠活动,规定:一次购买6本以上(含6本)10本以下(含10本)打九折;一次购买11本以上(含11本)打八折。项目小组成员根据以上计费标准,用Python编写了一段程序让电脑自动计算购买笔记本的总费用,程序代码如下:新知检验请将程序代码补充完整:s=int(input(“请输入购买的笔记本的数量(本):”)p=float(input(“请输入笔记本的单价(元):”)if s6:j=1.0#j为折扣系数t=s*p*jp
10、rint(“总费用为:”,”%.1f“%t,”元”)条件:一次购买6本以上(含6本)10本以下(含10本)打九折;一次购买11本以上(含11本)打八折新知检验请补充完整程序代码:s=int(input(“请输入购买的笔记本的数量(本):”)p=float(input(“请输入笔记本的单价(元):”)if s6:j=1.0#j为折扣系数if 6=s=11:j=0.8t=s*p*jprint(“总费用为:”,”%.1f“%t,”元”)ifelifelse语句的应用02实例:根据BMI指数判断体重状态2.0“体重不正常”存在着偏轻和偏重两种情况,如何优化程序?从键盘分别输入体重、身高,请你编写程序计
11、算BMI指数,并根据BMI指数判断属于哪一体重状态。轻体重:BMI18.5正常体重:18.5=BMI24超重:24=BMI=28实例:根据BMI指数判断体重状态3.0存在着多个判断条件,该如何解决?多分支if语句表达式1语句1YN语句N表达式2语句2表达式3YN语句3Y表达式N.NYN语句N+1.执行过程如果表达式1成立,则执行语句1;如果不成立,判断表达式2是否成立,成立则执行语句2,不成立就继续往下判断,直到表达式N也不成立,则执行语句N+1多分支if语句 if(表达式1):语句1elif(表达式2):语句2 elif(表达式N):语句Nelse:语句N+1语句格式注意事项:if,else
12、只有一个;elif可以有多个 if,elif,else要对齐;else后面要加冒号“:”从键盘分别输入体重、身高,请你编写程序计算BMI指数,并根据BMI指数判断属于哪一体重状态。轻体重:BMI18.5正常体重:18.5=BMI24超重:24=BMI=28实例:根据BMI指数判断体重状态3.0实例:根据BMI指数判断体重状态3.0补充程序w=float(input(请输入体重:)h=float(input(请输入身高:)bmi=w/h*2print(BMI指数为:,bmi)if bmi18.5:print(“轻体重”)print(“体重正常”)print(“超重”)print(“肥胖”)条件:
13、轻体重:BMI18.5正常体重:18.5=BMI24超重:24=BMI=28实例:根据BMI指数判断体重状态3.0补充程序w=float(input(请输入体重:)h=float(input(请输入身高:)bmi=w/h*2print(BMI指数为:,bmi)if bmi18.5:print(“轻体重”)print(“体重正常”)print(“超重”)print(“肥胖”)条件:轻体重:BMI18.5正常体重:18.5=BMI24超重:24=BMI=28elif 18.5=bmi24:elif 24=bmi28:else:实例:根据BMI指数判断体重状态3.0优化程序w=float(input
14、(请输入体重:)h=float(input(请输入身高:)bmi=w/h*2print(BMI指数为:,bmi)if bmi18.5:print(“轻体重”)print(“体重正常”)print(“超重”)print(“肥胖”)条件:轻体重:BMI18.5正常体重:18.5=BMI24超重:24=BMI=28elif bmi24:elif bmi28:else:新知检验1.小王编写了出租车收费的Python程序,代码如下:s=int(input(请输入行驶路程(公里):)if s=3:f=10elif s=10:f=10+2.5*(s-3)else:f=27.5+3.5*(s-10)print
15、(“应收费:”,f,”元”)要测试所有分支程序代码是否正确,以下测试数据中,最恰当的一组是()A.3,8 B.-1,5,12 C.1,6,20 D.3,12,20CC.1,6,20 新知检验2.2021年10月16日,翟志刚、王亚平、叶光富3名航天员乘坐神舟十三号载人飞船进入太空。载人飞船要飞入太空,必须达到宇宙速度。关于宇宙速度,有如下一些规定:第一宇宙速度:7.9km/s第二宇宙速度:11.2km/s第三宇宙速度:16.7km/s航天器速度运行状态v7.9不能进入太空7.9v11.2绕地球运动11.2v16.7绕太阳运动v16.7摆脱太阳引力飞往宇宙空间新知检验任务:编写程序,输入航天器的
16、速度,判断它的运行状态。第一宇宙速度:7.9km/s第二宇宙速度:11.2km/s第三宇宙速度:16.7km/s航天器速度运行状态v7.9不能进入太空7.9v11.2绕地球运动11.2v16.7绕太阳运动v16.7摆脱太阳引力飞往宇宙空间判断航天器运行状态1.分析问题a.需要用几个变量来存储数据?速度vb.存储速度的变量数据类型是什么?浮点型float数学关系式Python表达式v7.97.9v11.211.2v16.7v16.7c.怎么将数学关系式转换为Python表达式v7.97.9=v11.211.2=v=16.7d.应采用哪种程序控制结构?选择结构-多分支判断航天器运行状态2.设计算法
17、v7.9不能进入太空YN7.9=v11.2绕地球运动11.2=v16.7YN绕太阳运动YN飞往宇宙空间开始输入速度v结束判断航天器运行状态3.编写程序v7.9不能进入太空YN7.9=v11.2绕地球运动11.2=v16.7YN绕太阳运动YN飞往宇宙空间开始输入速度v结束判断航天器运行状态3.编写程序v=float(input(“请输入航天器速度:)if v7.9:print(“不能进入太空”)elif 7.9=v11.2:print(“绕地球运动”)elif 11.2=v16.7:print(“绕太阳运动”)else:print(“飞往宇宙空间”)v7.9不能进入太空YN7.9=v11.2绕地
18、球运动11.2=v16.7YN绕太阳运动YN飞往宇宙空间开始输入速度v结束判断航天器运行状态4.调试运行程序课堂小结运用选择结构描述问题求解过程if语句的应用单分支if语句双分支if语句ifelifelse语句的应用多分支if语句课堂练习新知检验有一种特殊的3位数做水仙花数,这种数的特点是个位、十位、百位上的数字的3次幂之和等于它本身。例如:153是水仙花数(1 3+5 3+3 3=153,结果为153本身);123不是水仙花数(1 3+2 3+3 3=36,结果不为123本身)。请补充下面的程序,使得程序运行时能够判断输入的3位数是否为水仙花数,是的话输出“yes”,不是则输出“no”。输入
19、输出样例如下:输入:153 输出:yes输入:123 输出:no操作提示:打开文件夹中的“P2.py”文件,填写正确的代码,完善该程序,实现上述功能,调试完成后保存“P2.py”文件。新知检验#注释:以下为“P2.py”的代码,请完善该程序。num=input(请输入一个3位数:)#从键盘输入一个3位数,类型为字符串a,b,c=int(num0),int(num1),int(num2)#分别将这三位数的各个位数转化为整型num=int(num)#将这个3位数从字符串类型转化为整型,方便计算。#请在下面编写程序新知检验#注释:以下为“P2.py”的代码,请完善该程序。num=input(请输入一
20、个3位数:)#从键盘输入一个3位数,类型为字符串a,b,c=int(num0),int(num1),int(num2)#分别将这三位数的各个位数转化为整型num=int(num)#将这个3位数从字符串类型转化为整型,方便计算。#请在下面编写程序if a*3+b*3+c*3=num:print(“yes”)else:print(“no”)课堂练习新知检验青青农场迎来热闹的草莓采摘季,A、B两个大棚的草莓结果量人约是2:1。为均衡两个大棚的人流量,编号能被3整除的游客进入B棚采摘,其他游客进入A棚采摘。编写一个Python程序,根据游客编号引导他们进入A、B两个大棚。操作提示:打开文件夹中的“P2.py”文件,填写正确的代码,完善该程序,实现上述功能,调试完成后保存“P2.py”文件。新知检验#注释:以下为“P2.py”的代码,请完善该程序,实现输入游客编号,输出引导语。h=int(input(请输入您的编号:)#请在以下区域编写程序#以下是输出语句,不能更改print(请您进入,p,棚采摘。)新知检验#注释:以下为“P2.py”的代码,请完善该程序,实现输入游客编号,输出引导语。h=int(input(请输入您的编号:)#请在以下区域编写程序#以下是输出语句,不能更改print(请您进入,p,棚采摘。)if h%3=0:p=Belse:p=A那就下次再聊吧第四章授课人:XXX