4.3运用选择结构描述问题求解过程学习目标掌握单分支if语句、多分支if语句的用法掌握if语句的嵌套、if…elif…else语句的一般格式及用法掌握程序的选择结构设计的基本流程能够运用选择结构描述问题的求解过程4.3运用选择结构描述问题求解过程1.请启动JupyterNotebook2.新建一个python3文件4.3.1if语句的应用——P76-791.单分支if语句单分支if语句的格式:if(条件表达式):语句A冒号缩进:一个制表符4.3.1if语句的应用——P76-792.多分支if语句多分支if语句的格式:if(条件表达式):语句Aelse:语句B冒号缩进:一个制表符4.3.1if语句的应用——P76-79【例题讲解】《数据与计算》P79,判断三个数的大小,完善其流程图print(请输入三种笔记本的优惠金额数(元):)a,b,c=input().split()a=float(a)b=float(b)c=float(c)ifab:m=aelse:m=bifcm:m=cprint(优惠金额数最大的为:,m,元)input().split()输入的字符串以“空格”为分隔符,切片比如:12345612345126float(c)把变量c转换成浮点型比较a,b的值,并将较大的数赋值给m4.3.1if语句的应用——P76-79【例题讲解】《数据与计算》P79,判断三个数的大小,完善其流程图print(请输入三种笔记本的优惠金额数(元):)a,b,c=input().split()a=float(a)b=float(b)c=float(c)ifab:m=aelse:m=bifcm:m=cprint(优惠金额数最大的为:,m,元)abcm32.563.4784.3.1if语句的应用——P76-79【例题讲解】《数据与计算》P79,判断三个数的大小,完善其流程图print(请输入三种笔记本的优惠金额数(元):)a,b,c=input().split()a=float(a)b=float(b)c=float(c)ifab:m=aelse:m=bifcm:m=cprint(优惠金额数最大的为:,m,元)4.3.1if语句的应用——P76-79爸爸妈妈会根据叮小马期末考试的成绩高低来决定给他过年的压岁钱,代码如下,grade表示成绩,如果叮小马成绩为90,请问他能得到什么奖励:ifgrade90:print(100元压岁钱,外加玩具)else:print(什么奖励都没有)A、100元压岁钱B、玩具C、100元压岁钱,外加玩具D、什么奖励都没有【课堂练习】D4.3.1if语句的应用——P76-79关于下列伪代码(虚拟代码)说法正确的是:输入a的值ifa=18:执行代码块Aelse:执行代码块BA、当输入a的值为3时,先执行代码A,再执行代码块BB、当输入a的值为3时,只执行代码块BC、当输入a的值为3时,只执行代码块AD、当输入a的值为3时,先执行代码B,再执行代码块A【课堂练习】B4.3.1if语句的应用——P76-79请仔细阅读下列代码,推测出运行结果(输入a的值24,b的值5):a=int(input())b=int(input())ifa=b:print(a%b)else:print(b%a)A、0B、4C、5D、1【课堂练习】B4.3.1if语句的应用——P76-79叮小马想设计一个程序实现外部输入一个数程序判断它是否是偶数,下面的程序少了条件判断,请你为其选上正确的选项,并实现程序功能:n=int(input())if_______:print(n,是偶数)A、n%2=0B、n%2==0C、n%2==1D、n%2=1【课堂练习】B4.3.1if语句的应用——P76-79在数学课堂上,叮小马正尝试判断一个数是否既是2的倍数又是3的倍数,如果是2的倍数又是3的倍数则打印出YES,否则打印出NO,并写出了下列程序,由于操作失误误删了一行代码,请你为他选出正确的选项:num=int(input())if_______________:print(YES)else:print(NO)A、num%2=0ornum%3=0B、num%2==0ornum%3==0C、num%2==0andnum%3==0D、num%2=0andnum%3=0【课堂练习】C4.3.1if语句的应用——P76-79【项目演示】北京开车单双号限行,请设计程序,判断车牌号是否是双号:1.用户输入车牌号的最后一位;2.如果这个数是偶数,则输出“您的车牌号是双号,今天可以通行”;3.如果这个数不是偶数,则输出“您的车牌号是单号,请明天开车”;思考提示:1.用数学语言表示题目的要求;2.用“画程”软件,绘制流程图;3.根据if语句的格式,在”JupyterNotebook”编写代码。4.3.1if语句的应用——P76-79思考提示:1.用数学语言表示题目的要求;x%2==0y=“您的车牌号是双号,今天可以通行”X%2!=0y=“您的车牌号是单号,请明天开车”【项目演示】北京开车单双号限行,请设计程序,判断车牌号是否是双号:1.用户输入车牌号的最后一位;2.如果这个数是偶数,则输出“您的车牌号是双号,今天可以通行”;3.如果这个数不是偶数,则输出“您的车牌号是单号,请明天开车”;4.3.1if语句的应用——P76-79思考提示:1.用数学语言表示题目的要求;2.用“画程”软件,绘制流程图;x%2==0y=“您的车牌号是双号,今天可以通行”X%2!=0y=“您的车牌号是单号,请明天开车”【项目演示】北京开车单双号限行,请设计程序,判断车牌号是否是双号:1.用户输入车牌号的最后一位;2.如果这个数是偶数,则输出“您的车牌号是双号,今天可以通行”;3.如果这个数不是偶数,则输出“您的车牌号是单号,请明天开车”;4.3.1if语句的应用——P76-79思考提示:3.根据if语句的格式,在”JupyterNotebook”编写代码。x=int(input(‘请输入您的车牌号最后一位数x:'))ifx%2==0:print('您的车牌号%d是双号,今天可以通行'%x)else:print('您的车牌号%d是单号,请明天开车'%x)【项目演示】北京开车单双号限行,请设计程序,判断车牌号是否是双号:1.用户输入车牌号的最后一位;2.如果这个数是偶数,则输出“您的车牌号是双号,今天可以通行”;3.如果这个数不是偶数,则输出“您的车牌号是单号,请明天开车”;4.3.1if语句的应用——P76-79【项目练习】A作业本的单价为5元/本,请设计批发销售A作业本的程序,满足以下要求:1.购买数量少于10本时,输出提示信息“批发数量太少,不销售”;2.购买数量在10本以上(含10本),给予八五折优惠。思考提示:1.用数学语言表示题目的要求;2.用“画程”软件,绘制流程图;3.根据if语句的格式,在”JupyterNotebook”编写代码。4.3.1if语句的应用——P76-79x10y=“批发数量太少,不销售”x=10y=5*x*0.85【项目练习】A作业本的单价为5元/本,请设计批发销售A作业本的程序,满足以下要求:1.购买数量少于10本时,输出提示信息“批发数量太少,不销售”;2.购买数量在10本以上(含10本),给予八五折优惠。思考提示:1.用数学语言表示题目的要求;思考提示:1.用数学语言表示题目的要求;2.用“画程”软件,绘制流程图;4.3.1if语句的应用——P76-79【项目练习】A作业本的单价为5元/本,请设计批发销售A作业本的程序,满足以下要求:1.购买数量少于10本时,输出提示信息“批发数量太少,不销售”;2.购买数量在10本以上(含10本),给予八五折优惠。x10y=“批发数量太少,不销售”x=10y=5*x*0.854.3.1if语句的应用——P76-79【项目练习】A作业本的单价为5元/本,请设计批发销售A作业本的程序,满足以下要求:1.购买数量少于10本时,输出提示信息“批发数量太少,不销售”;2.购买数量在10本以上(含10本),给予八五折优惠。x=int(input('请输入您购买的数量x:'))ifx=10:y=5*x*0.85print('您需要支付金额是:',y)else:print('批发数量太少,不销售')思考提示:3.根据if语句的格式,在”JupyterNotebook”编写代码。4.3.1if语句的应用——P76-79【拓展练习】请设计补充完善“查询垃圾分类”的程序:1.可回收物:废纸、塑料、玻璃、金属和布料五大类2.有毒垃圾:电池、荧光灯管、灯泡、水银温度计、油漆桶、部分家电、过期药品及其容器、过期化妆品…3.厨余垃圾:剩菜剩饭、骨头、菜根、菜叶、果皮…4.其他垃圾:砖瓦陶瓷、渣土、纸巾、尘土、食品袋(盒)…kh=[废纸,塑料,玻璃,金属,布料]yd=[废电池,废荧光灯管,废灯泡,水银温度计,废油漆桶,废家电,过期药品及容器,过期化妆品]cy=[剩菜剩饭,骨头,菜根,菜叶,果皮]qt=[陶瓷,砖块,渣土,纸巾,尘土,食品袋(盒)]ifainqt:print(a,'是其他垃级')else:print('很抱歉,系统未查到您想查询的垃圾类别,请再次修改并确认垃圾名。谢谢!')4.3.1if语句的应用——P76-79【拓展练习】请设计补充完善“查询垃圾分类”的程序:kh=[废纸,塑料,玻璃,金属,布料]yd=[废电池,废荧光灯管,废灯泡,水银温度计,废油漆桶,废家电,过期药品及容器,过期化妆品]cy=[剩菜剩饭,骨头,菜根,菜叶,果皮]qt=[陶瓷,砖块,渣土,纸巾,尘土,食品袋(盒)]a=input('请输入您想查询的垃圾名:')ifaincy:print(a,'是厨余垃级')ifainyd:print(a,'是有毒垃级')ifainkh:print(a,'是可回收物')ifainqt:print(a,'是其他垃级')else:print('很抱歉,系统未查到您想查询的垃圾类别,请再次修改并确认垃圾名。谢谢!')4.3.1if语句的应用——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.1if语句的应用——P76-79【拓展练习】请设计一款“猜数字游戏”的程序,需满足以下要求:1.计算机生成一个1~20的随机数x2.电脑界面提示并接收:请输入您猜的数字3.判断用户猜的数字和电脑生成的随机数的关系,并输出显示以下提示:(1)哈哈,您猜的数字太大了!(2)哎呀,您猜的数字太小了!(3)恭喜您,猜对了!我们真有默契!【提示,计算机生成随机数的代码】importrandomx=random.randint(1,20)4.3.2if…elif…else语句的应用(P80-85)3.if...elif…else语句的格式if(条件表达式1):语句1elif(条件表达式2):语句2……elif(条件表达式n):语句nelse:语句n+1可有多个4.3.2if…elif…else语句的应用(P80-85)【例题讲解】《数据与计算》P83判断某年是否是闰年,绘制对应的流程图。x=int(input(请输入年份:))ifx%100==0:ifx%400==0:print(%d年是闰年%x)else:print(%d年不是闰年%x)elifx%4==0:print(%d年是闰年%x)else:print(%d年不是闰年%x)x能否被100整除x能否被400整除%d占位符,整数x能否被4整除4.3.2if…elif…else语句的应用(P80-85)【例题