资源简介 (共41张PPT)4.3运用选择结构描述问题求解过程学习目标掌握单分支if语句、多分支if语句的用法掌握if语句的嵌套、if…elif…else语句的一般格式及用法掌握程序的选择结构设计的基本流程能够运用选择结构描述问题的求解过程4.3 运用选择结构描述问题求解过程1.请启动Jupyter Notebook2.新建一个python 3 文件4.3.1 if语句的应用——P76-791.单分支if语句单分支if语句的格式:if (条件表达式):语句A冒号缩进:一个制表符4.3.1 if语句的应用——P76-792.多分支if语句多分支if语句的格式:if (条件表达式):语句Aelse:语句B冒号缩进:一个制表符4.3.1 if语句的应用——P76-79【例题讲解】《数据与计算》P79,判断三个数的大小,完善其流程图print("请输入三种笔记本的优惠金额数(元):")a,b,c = input().split()a = float(a)b = float(b)c = float(c)if a > b:m = aelse:m = bif c > m:m = cprint("优惠金额数最大的为:", m, "元")input().split() 输入的字符串以“空格”为分隔符,切片比如:12 34 56 123 45 126float(c)把变量c转换成浮点型比较a,b的值,并将较大的数赋值给m4.3.1 if语句的应用——P76-79【例题讲解】《数据与计算》P79,判断三个数的大小,完善其流程图print("请输入三种笔记本的优惠金额数(元):")a,b,c = input().split()a = float(a)b = float(b)c = float(c)if a > b:m = aelse:m = bif c > m:m = cprint("优惠金额数最大的为:", m, "元")a b c m32.5 63.4 784.3.1 if语句的应用——P76-79【例题讲解】《数据与计算》P79,判断三个数的大小,完善其流程图print("请输入三种笔记本的优惠金额数(元):")a,b,c = input().split()a = float(a)b = float(b)c = float(c)if a > b:m = aelse:m = bif c > m:m = cprint("优惠金额数最大的为:", m, "元")4.3.1 if语句的应用——P76-79爸爸妈妈会根据小智期末考试的成绩高低来决定给他过年的压岁钱,代码如下,grade表示成绩,如果小智成绩为90,请问他能得到什么奖励:if grade>90:print("100元压岁钱,外加玩具")else:print("什么奖励都没有")A、100元压岁钱 B、玩具C、100元压岁钱,外加玩具 D、什么奖励都没有【课堂练习】D4.3.1 if语句的应用——P76-79关于下列伪代码(虚拟代码)说法正确的是:输入a的值if a>=18:执行代码块Aelse:执行代码块BA、当输入a的值为3时,先执行代码A,再执行代码块BB、当输入a的值为3时,只执行代码块BC、当输入a的值为3时,只执行代码块AD、当输入a的值为3时,先执行代码B,再执行代码块A【课堂练习】B4.3.1 if语句的应用——P76-79请仔细阅读下列代码,推测出运行结果(输入a的值24,b的值5):a=int(input())b=int(input())if a>=b:print(a%b)else:print(b%a)A、0 B、4C、5 D、1【课堂练习】B4.3.1 if语句的应用——P76-79小慧想设计一个程序实现外部输入一个数程序判断它是否是偶数,下面的程序少了条件判断,请你为其选上正确的选项,并实现程序功能:n=int(input())if _______:print(n,"是偶数")A、n%2=0 B、n%2==0C、n%2==1 D、n%2=1【课堂练习】B4.3.1 if语句的应用——P76-79在数学课堂上,小丁正尝试判断一个数是否既是2的倍数又是3的倍数,如果是2的倍数又是3的倍数则打印出"YES",否则打印出"NO",并写出了下列程序,由于操作失误误删了一行代码,请你为他选出正确的选项:num=int(input())if _______________:print("YES")else:print("NO")A、num%2 = 0 or num%3 =0 B、num%2 == 0 or num%3 ==0C、num%2 == 0 and num%3 ==0 D、num%2 = 0 and num%3 =0【课堂练习】C4.3.1 if语句的应用——P76-79【项目演示】北京开车单双号限行,请设计程序,判断车牌号是否是双号:1.用户输入车牌号的最后一位;2.如果这个数是偶数,则输出“您的车牌号是双号,今天可以通行”;3.如果这个数不是偶数,则输出“您的车牌号是单号,请明天开车”;思考提示:1.用数学语言表示题目的要求;2.用“画程”软件,绘制流程图;3.根据if语句的格式,在” Jupyter Notebook”编写代码。4.3.1 if语句的应用——P76-79思考提示:1.用数学语言表示题目的要求;x%2==0 y=“您的车牌号是双号,今天可以通行”X%2!=0 y=“您的车牌号是单号,请明天开车”【项目演示】北京开车单双号限行,请设计程序,判断车牌号是否是双号:1.用户输入车牌号的最后一位;2.如果这个数是偶数,则输出“您的车牌号是双号,今天可以通行”;3.如果这个数不是偶数,则输出“您的车牌号是单号,请明天开车”;4.3.1 if语句的应用——P76-79思考提示:1.用数学语言表示题目的要求;2.用“画程”软件,绘制流程图;x%2==0 y=“您的车牌号是双号,今天可以通行”X%2!=0 y=“您的车牌号是单号,请明天开车”【项目演示】北京开车单双号限行,请设计程序,判断车牌号是否是双号:1.用户输入车牌号的最后一位;2.如果这个数是偶数,则输出“您的车牌号是双号,今天可以通行”;3.如果这个数不是偶数,则输出“您的车牌号是单号,请明天开车”;4.3.1 if语句的应用——P76-79思考提示:3.根据if语句的格式,在” Jupyter Notebook”编写代码。x=int(input(‘请输入您的车牌号最后一位数x:'))if x%2==0:print('您的车牌号%d是双号,今天可以通行’,%x)else:print('您的车牌号%d是单号,请明天开车’,%x)【项目演示】北京开车单双号限行,请设计程序,判断车牌号是否是双号:1.用户输入车牌号的最后一位;2.如果这个数是偶数,则输出“您的车牌号是双号,今天可以通行”;3.如果这个数不是偶数,则输出“您的车牌号是单号,请明天开车”;4.3.1 if语句的应用——P76-79【项目练习】A作业本的单价为5元/本,请设计批发销售A作业本的程序,满足以下要求:1.购买数量少于10本时,输出提示信息“批发数量太少,不销售”;2.购买数量在10本以上(含10本),给予八五折优惠。思考提示:1.用数学语言表示题目的要求;2.用“画程”软件,绘制流程图;3.根据if语句的格式,在” Jupyter Notebook”编写代码。4.3.1 if语句的应用——P76-79x<10 y=“批发数量太少,不销售”x>=10 y=5*x*0.85【项目练习】A作业本的单价为5元/本,请设计批发销售A作业本的程序,满足以下要求:1.购买数量少于10本时,输出提示信息“批发数量太少,不销售”;2.购买数量在10本以上(含10本),给予八五折优惠。思考提示:1.用数学语言表示题目的要求;思考提示:1.用数学语言表示题目的要求;2.用“画程”软件,绘制流程图;4.3.1 if语句的应用——P76-79【项目练习】A作业本的单价为5元/本,请设计批发销售A作业本的程序,满足以下要求:1.购买数量少于10本时,输出提示信息“批发数量太少,不销售”;2.购买数量在10本以上(含10本),给予八五折优惠。x<10 y=“批发数量太少,不销售”x>=10 y=5*x*0.854.3.1 if语句的应用——P76-79【项目练习】A作业本的单价为5元/本,请设计批发销售A作业本的程序,满足以下要求:1.购买数量少于10本时,输出提示信息“批发数量太少,不销售”;2.购买数量在10本以上(含10本),给予八五折优惠。x=int(input('请输入您购买的数量x:'))if x>=10:y=5*x*0.85print('您需要支付金额是:',y)else:print('批发数量太少,不销售')思考提示:3.根据if语句的格式,在” Jupyter Notebook”编写代码。4.3.1 if语句的应用——P76-79【拓展练习】请设计补充完善“查询垃圾分类” 的程序:1.可回收物:废纸、塑料、玻璃、金属和布料五大类2.有毒垃圾:电池、荧光灯管、灯泡、水银温度计、油漆桶、部分家电、过期药品及其容器、过期化妆品…3.厨余垃圾:剩菜剩饭、骨头、菜根、菜叶、果皮…4.其他垃圾:砖瓦陶瓷、渣土、纸巾、尘土、食品袋(盒)…kh= ["废纸","塑料","玻璃","金属","布料"]yd = ["废电池","废荧光灯管","废灯泡","水银温度计","废油漆桶","废家电","过期药品及容器","过期化妆品"]cy= ["剩菜剩饭","骨头","菜根","菜叶","果皮"]qt= ["陶瓷","砖块","渣土","纸巾","尘土","食品袋(盒)"]if a in qt:print(a,'是其他垃级')else:print('很抱歉,系统未查到您想查询的垃圾类别,请再次修改并确认垃圾名。谢谢!')4.3.1 if语句的应用——P76-79【拓展练习】请设计补充完善“查询垃圾分类” 的程序:kh= ["废纸","塑料","玻璃","金属","布料"]yd = ["废电池","废荧光灯管","废灯泡","水银温度计","废油漆桶","废家电","过期药品及容器","过期化妆品"]cy= ["剩菜剩饭","骨头","菜根","菜叶","果皮"]qt= ["陶瓷","砖块","渣土","纸巾","尘土","食品袋(盒)"]a=input('请输入您想查询的垃圾名:')if a in cy:print(a,'是厨余垃级')if a in yd:print(a,'是有毒垃级')if a in kh:print(a,'是可回收物')if a in qt:print(a,'是其他垃级')else:print('很抱歉,系统未查到您想查询的垃圾类别,请再次修改并确认垃圾名。谢谢!')4.3.1 if语句的应用——P76-79【拓展练习】根据老师讲解,结合《数据与计算》P79“判断最大值”,补充完善程序,满足以下要求:1.依次输入三个整数;2.找出a,b,c三个数中的最小值;3.输出最小值。a = int(input('请输入第一个整数a:'))b = int(input('请输入第二个整数b:'))c = int(input('请输入第三个整数c:'))if :m = aelse:m = bif :m = cprint("输入的三个数中,最小值是:", m)4.3.1 if语句的应用——P76-79【拓展练习】请设计一款“猜数字游戏”的程序,需满足以下要求:1.计算机生成一个1~20的随机数x2.电脑界面提示并接收:请输入您猜的数字3.判断用户猜的数字和电脑生成的随机数的关系,并输出显示以下提示:(1)哈哈,您猜的数字太大了!(2)哎呀,您猜的数字太小了!(3)恭喜您,猜对了!我们真有默契!【提示,计算机生成随机数的代码】import randomx=random.randint(1,20)4.3.2 if…elif…else语句的应用(P80-85)3. if...elif…else语句的格式if (条件表达式1):语句1elif (条件表达式2):语句2……elif (条件表达式n):语句nelse:语句n+1可有多个elif=else if4.3.2 if…elif…else语句的应用(P80-85)【例题讲解】《数据与计算》P83判断某年是否是闰年,绘制对应的流程图。x = int(input("请输入年份:"))if x%100==0:if x%400==0:print("%d年是闰年" % x)else:print("%d年不是闰年" % x)elif x%4==0:print("%d年是闰年" % x)else:print("%d年不是闰年" % x)x能否被100整除x能否被400整除%d占位符,整数x能否被4整除4.3.2 if…elif…else语句的应用(P80-85)【例题讲解】《数据与计算》P83判断某年是否是闰年 ,绘制对应的流程图x = int(input("请输入年份:"))if x%100==0:if x%400==0:print("%d年是闰年" % x)else:print("%d年不是闰年" % x)elif x%4==0:print("%d年是闰年" % x)else:print("%d年不是闰年" % x)x = int(input("请输入年份:"))if x%400==0 or (x%100>0 and x%4==0):print("%d年是闰年" % x)else:print("%d年不是闰年" % x)是闰年的两种情况:x%400x%100>0 and x%4==04.3.2 if…elif…else语句的应用(P80-85)【例题讲解】《数据与计算》P83判断某年是否是闰年,绘制对应的流程图x = int(input("请输入年份:"))year = xif x%100==0:if x%400==0:x=x/100if x%4>0:print("%d年不是闰年" % year)else:print("%d年是闰年" % year)是闰年的两种情况:x%100==0 and x/100%4==0x%100>0 and x%4==04.3.2 if…elif…else语句的应用(P80-85)【例题讲解】《数据与计算》P83判断某年是否是闰年,绘制对应的流程图x = int(input("请输入年份:"))year = xif x%100==0:if x%400==0:x=x/100if x%4>0:print("%d年不是闰年" % year)else:print("%d年是闰年" % year)4.3.2 if…elif…else语句的应用(P80-85)【项目练习】根据老师的讲解,结合《数据与计算》P89程序1,请利用“画程”软件,绘制程序1的流程图。x = int(input("请输入年份:"))if x%100==0:if x%400==0:print("%d年是闰年" % x)else:print("%d年不是闰年" % x)elif x%4==0:print("%d年是闰年" % x)else:print("%d年不是闰年" % x)4.3.1 if语句的应用——P76-79周末爸爸妈妈带着小智和小智的弟弟去动物园游玩,门票的价格和游客的年龄有关系(关系如下展示),已知爸爸32岁,妈妈31岁,小智9岁,弟弟3岁,请问小智他们买门票花了多少钱(门票价格price表示,年龄age表示):if age>=18:price=50elif age>=8 and age<18:price=25else:price=0A、150元 B、125元 C、100元【课堂练习】B年龄 32 31 9 3门票钱4.3.2 if…elif…else语句的应用(P80-85)【习题讲解】课堂练习《活动手册》P94-95,单选10——五分钟思考10.请判断如下程序的运行结果是将三个数( )。print("请输入3个数:")x=int(input("x="))y=int(input("y=")r=int(input("z=")temp=0if x>y:temp=yy=xx=tempif y>z:temp=zz=xx=tempif y >ztemp=zz=yy=tempprint("这3个数新序列是:",x,y,x)A.从小到大排序 B.从大到小排序 C.都变成最大的数 D.都变成最小的数A4.3.2 if…elif…else语句的应用(P80-85)【习题讲解】课堂练习《活动手册》P94-95,单选10x>y temp=y x,y的新序列 y=x x ya=tempx>z temp=z x,z的新序列 z=x x zx=tempy>z temp=z y,z的新序列 z=y y zy=tempx=25 y=15 x y tempx= z=10 x z tempy= z= y z temp4.3.2 if…elif…else语句的应用(P80-85)【习题讲解】课堂练习《活动手册》P94-95,单选10x>y temp=y x,y的新序列y=xa=temp x>z temp=z x,z的新序列z=xx=temp y>z temp=z y,z的新序列z=yy=tempx,y,z的新序列:4.3.2 if…elif…else语句的应用(P80-85)【拓展练习】根据老师的讲解,结合《活动手册》P94单选10,请修改程序,从大到小依次输出数字,并满足以下要求:1.用户以此输入三个整数a,b,c;2.判断三个整数的大小关系;3.按从大到小的顺序依次输出三个数字;4.3.2 if…elif…else语句的应用(P80-85)【拓展练习】结合《活动手册》P97情景题(2)选手得分问题,请设计程序,计算选手的最终得分,满足以下要求:1.分行输入6位评委的评分(0-100的整数);2.通过判断,去掉最高分和最低分;3.输出评委的平均分x=int(input('请输入评委的人数:'))print('请输入各位评委的评分(0-100 的整数):')num=[] # 生成一个空列表i=0while i < x: # 将每位评委的评分存入列表n=int(input('请输入%d位评委的评分:'%(i+1)))num.append(n)i=i+1i=0while i < x: # 自己检验是否将评分存入列表print(num[i])i=i+1a=min(num)# 返回最小值 # 找出列表的最大值和最小值b=max(num)# 返回最大值sum=0i=0while i < x: # 求和sum=sum+num[i]i=i+1y=(sum-a-b)/(x-2)print('各位选手的平均分是:',y)4.3.2 if…elif…else语句的应用(P80-85)思考提示:1.用数学语言表示题目的要求;2.用“画程”软件,表示数学表达式;3.根据if…elif…else语句的格式,在” Jupyter Notebook”编写代码。【项目演示】请设计程序,从小到大依次输出数字,并满足以下要求:1.用户以此输入三个整数a,b,c;2.判断三个整数的大小关系;3.按从小到大的顺序依次输出三个数字;4.3.2 if…elif…else语句的应用(P80-85)思考提示:1.用数学语言表示题目的要求;【项目演示】请设计程序,从小到大依次输出数字,并满足以下要求:1.用户以此输入三个整数a,b,c;2.判断三个整数的大小关系;3.按从小到大的顺序依次输出三个数字;acabcb【项目演示】请设计程序,从小到大依次输出数字,并满足以下要求:1.用户以此输入三个整数a,b,c;2.判断三个整数的大小关系;3.按从小到大的顺序依次输出三个数字;4.3.2 if…elif…else语句的应用(P80-85)思考提示:1.用数学语言表示题目的要求;2.用“画程”软件,表示数学表达式;acabcb4.3.2 if…elif…else语句的应用(P80-85)【项目演示】请设计程序,从小到大依次输出数字,并满足以下要求:1.用户以此输入三个整数a,b,c;2.判断三个整数的大小关系;3.按从小到大的顺序依次输出三个数字;a = int(input("请输入整数a:"))b = int(input("请输入整数b:"))c = int(input("请输入整数c:"))if aif cif cprint(c,a,b)else:print(a,c,b)else:print(a,b,c)elif cif cprint(c,b,a)else:print(b,c,a)else:print(b,a,c) 展开更多...... 收起↑ 资源预览