资源简介 第五节 Python分支结构的程序实现1. 下列保留字中,不属于分支结构的是( C )A. if B. elseC. and D. elif【解析】 and是逻辑运算符。2. 用Python算法控制结构描述“行驶速度低于20 km/h,被定义为拥堵路段,20 km/h - 40 km/h为行驶缓慢,40 km/h 以上为道路畅通”,下列选项中,错误的是( C )A. if v<20: print("拥堵路段")elif v<=40: print("行驶缓慢")else: print("道路畅通")B. if v>40: print("道路畅通")elif v>=20: print("行驶缓慢")else: print("拥堵路段")C. if v>40: print("道路畅通")elif v<40: print("行驶缓慢")else: print("拥堵路段")D. if v>=20: if v<=40: print("行驶缓慢") else: print("道路畅通")else: print("拥堵路段")【解析】 C中,v<40都属于“行驶缓慢”;且只有v=40时,才属于“拥堵路段”,与题干信息不符。3. 学校举行大合唱比赛,每个班级演唱结束后会有10位评委打分,最终得分的计分规则如下:去掉一个最高分,去掉一个最低分,求平均分。编写Python程序,实现快速计分,代码如下:n=10scores, maxs, mins=0, 0, 10for i in range(n): s=float(input("第"+str(i)+"位评委给分:")) if maxs < s: maxs=s elif mins>s: mins=s scores+=s avg= print("平均分为:"+str(round(avg,2)))下列关于该程序的说法,错误的是( B )A.将“elif”改为“if”,程序功能不变B.横线上的代码为“(scores-maxs-mins)/(n)”C.将倒数第2行的代码取消缩进,算法更佳D.此程序段只适用于满分不超过10分的情况【解析】 本题主要考查Python程序的调试。分析程序可知,将“elif”改为“if”,程序功能不变;横线上的代码为“(scores-maxs-mins)/(n-2)”;将倒数第2行的代码取消缩进,该语句只执行一次,因此算法更佳;此程序段只适用于满分不超过10分的情况。4. 中学生的跳绳体测标准如下:一分钟140~180个为合格,大于或等于180个为优秀。设n为一分钟的跳绳个数,则下列Python程序段中,能够正确输出跳绳体测成绩的是( C )A. if n>=140: print("合格")elif n>=180: print("优秀")B. if n>=180: print("优秀")else: print("合格")C. if n>=180: print("优秀")elif n>=140: print("合格")D. if 140 print("合格")else: print("优秀")【解析】 本题主要考查Python分支结构的应用。一分钟跳绳140个为合格,大于等于180个为优秀,因此能够正确输出跳绳体测成绩的是:if n>=180: print("优秀")elif n>=140: print("合格")5. 下列Python程序段执行后,变量d的值是( D )d=2t=3if t>=1 and t<=5: d=d*(1+t)else: d=d*tA. 2 B. 4C. 6 D. 8【解析】 本题主要考查Python分支结构的应用。d=2,t=3,满足t>=1 andt<=5,因此执行 d=d*(1+t)=8。6. 如下所示的代码,当输入23时,输出的结果是( D )s=int(input("请输入"))if s<5: print("小了")elif s<15: print("还是有点小了")elif s<25: print("差不多")elif s>=25: print("很好")else: print("这不是数字")A. 这不是数字 B. 小了C. 很好 D. 差不多【解析】 本题主要考查Python程序的执行。当输入23时,满足s<25,输出结果为“差不多”。7. 如下所示的代码运行后,输出的结果是( C )a=5b=10if a>b: max=aelse: max=bprint(max)A. 0 B. 5C. 10 D. 15【解析】 本题主要考查Python程序的执行。程序代码中用到了分支结构,当a>b条件成立时,执行语句max=a;否则执行语句max=b。程序代码中a=5,b=10,所以a>b这个条件不成立。8. 闰年分为普通闰年和世纪闰年。当公历年份是4的倍数,且不是100的倍数时,为普通闰年(如2020年是普通闰年);当公历年份是400的倍数时,为世纪闰年(如1900年不是闰年,2000年是世纪闰年)。下面的Python程序能够判断输入的年份是否为闰年:year=int(input("请输入一个年份:"))if : print(year, "年是闰年")else: print(year, "年不是闰年")横线上应填入的代码为( B )A. year%4==0 and year%100!=0B. year%4==0 and year%100!=0 or year%400==0C. year%4==0 or year%100!=0 or year%400==0D. year%4==0 and year%100!=0 and year%400==0【解析】 and的优先级高于or,所以程序先计算year%4==0 and year%100!=0,其结果用来判断是否为普通闰年;year%400==0的结果用来判断是否为世纪闰年。普通闰年和世纪闰年都属于闰年,所以用or连接。9. 用Python 算法描述鱼缸水温预警功能:当水温t高于32℃时,LED灯呈现“红色”;低于27℃时,LED 灯呈现“蓝色”;其余情况LED 灯呈现“绿色”。# 通过传感器获取鱼缸内水温值,并存储到变量t中,代码略LED ="绿色"if : if t>32: LED="红色" else: LED="蓝色"print("LED 灯显示颜色:",LED)为实现上述功能,横线上应填入的Python表达式为( C )A. not(27<t<32) B. t<27C. t<27 or t>32 D. t<27 and t>32【解析】 本题考查if语句和逻辑结构知识。由于两个if语句是嵌套的,因此外层if语句指定的范围必须包含内层if语句的数据范围,否则内层的if语句无效,可排除A、B、D。10. 阅读下列Python程序,回答下列问题。x=20if x>=10: value=4*xelse: value=5*xprint(value)该程序采用 分支 结构,程序输出的结果是 80 。【解析】 本题主要考查Python分支结构的应用。①分析程序可知,该程序采用分支结构。②当输入x=20时,满足if条件,执行value=4*x=80,故输出结果是80。11. 阅读下列Python程序,写出运行结果。a=5if a>3 and (a==4 or a<6): print("Hello")else: print("Bye")运行结果是 Hello 。【解析】 本题主要考查Python分支结构。逻辑运算符or两边的值均为假时值才为假,否则值为真;逻辑运算符and两边的值均为真时值才为真,否则值为假;not是取反。a=5,满足if判断条件,输出结果是Hello。12. 有红、绿、黄3盏灯轮流亮。若现在是红灯亮,则接下来绿灯亮,往后是黄灯亮,往后又是红灯亮,如此循环往复。从键盘读取当前亮灯的颜色(只能是红、绿或黄),输出下一次亮灯的颜色。实现上述功能的Python程序如下,请在横线上填入合适的代码:① "绿" ,② elif light=="绿" ,③ next_light="红" 。light=input("请输入当前亮灯的颜色:")if light=="红": next_light= ① ② : next_light="黄"else: ③ print("下一次亮灯的颜色为:",next_light)【解析】 根据题目描述可知,红、绿、黄3盏灯是轮流亮的,由此可知算法的逻辑,从而得到正确答案。13. 某城市轨道交通实行分段计程票价制,起步票价为:乘坐5站以下(含5站),单人票价为2元;乘坐5站以上、10站以下(含10站),单人票价为3元;乘坐10站以上、16站以下(含16站),单人票价为4元;乘坐16站以上,单人票价为5元。按上述要求,编写Python程序,功能如下:从键盘输入乘坐的站数,根据定价标准,输出单人票价。n=int(input("请输入乘坐的站数:"))if ① : print("票价为2元")elif ② : print("票价为3元")elif ③ : print("票价为4元")else: print("票价为5元")请回答下列问题:(1)当乘坐的站数为12时,单人票价是 4 元。(2)请在横线上填入合适的代码:① n<=5 ,② n<=10 ,③ n<=16 。【解析】 (1)乘坐站数为12,在10站以上、16站以下,单人票价为4元。(2)通过题目可以分析出有4种分支情况,根据不同的分支情况,补充题中的条件判断语句。14. 某公司员工的基本工资按工龄分为不同的等级,工龄5年以下基本工资3000 元,5 年至9 年基本工资5000元,10 年及以上基本工资8000 元。下列程序中,不能正确计算该公司员工基本工资的是( B )A. if year>=10: bs=8000elif year>=5: bs=5000else: bs=3000B. if year>9: bs=8000if year>5: bs=5000else: bs=3000C. bs=3000if year>4: bs=5000if year>9: bs=8000D. bs=5000if year<5: bs=3000elif year>9: bs=8000【解析】 B,两个条件判断是并列的,若year=12,则bs经过两次判断后的结果是5000,但正确的bs肯定是8000,因此B的逻辑结构错误。15. 体重指数(BMI)是用体重(千克)除以身高(米)的平方得出的数字,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。当我们需要比较及分析不同身高的人的体重对于健康的影响时,BMI是一个可靠的指标,它是《国家学生体质健康标准》规定的测试项目。下面是高中男生和女生的体重指数单项评分表。表1 高中男生体重指数(BMI)单项评分表(单位:kg/m2)等级 单项得分/分 高一 高二 高三正常 100 16.5~23.2 16.8~23.7 17.3~23.8低体重 80 ≤ 16.4 ≤ 16.7 ≤ 17.2超重 23.3~26.3 23.8~26.5 23.9~27.3肥胖 60 ≥ 26.4 ≥ 26.6 ≥ 27.4表2 高中女生体重指数(BMI) 单项评分表(单位:kg/m2)等级 单项得分/分 高一 高二 高三正常 100 16.5~22.7 16.9~23.2 17.1~23.3低体重 80 ≤ 16.4 ≤ 16.8 ≤ 17.0超重 22.8~25.2 23.3~25.4 23.4~25.7肥胖 60 ≥ 25.3 ≥ 25.5 ≥ 25.8按上述要求,编写Python程序,功能如下:从键盘输入某名高二学生的性别、体重(单位:千克)和身高(单位:米)信息,利用体重指数计算公式和高中男、女生体重指数单项评分表,输出其等级,请在横线上填入合适的代码:① sex=="男" ,② BMI<=26.5 ,③ BMI<=25.4 。sex=input("请输入性别:")weight=float(input("请输入体重:"))height=float(input("请输入身高:"))BMI=round(weight/height**2, 1)if ① : if BMI<=16.7: grade="低体重" elif BMI<=23.7: grade="正常" elif ② : grade="超重" else: grade="肥胖"else: if BMI<=16.8: grade="低体重" elif BMI<=23.2: grade="正常" elif ③ : grade="超重" else: grade="肥胖"print(grade)【解析】 阅读程序可知,①②处是分析高二男生的体重指数,首先需要判断学生的性别,故①处应填入的代码为sex=="男";高二男生体重指数在23.8~26.5时等级为超重,故②处应填入的代码为BMI<=26.5;③处是分析高二女生的体重指数,高二女生体重指数在23.3~25.4时等级为超重,故③处应填入的代码为BMI<=25.4。(共24张PPT)第五节 Python分支结构的程序实现信息技术 必修1 数据与计算算法的程序实现第三章必备知识练1. 下列保留字中,不.属.于.分支结构的是( )A. if B. elseC. and D. elif【解析】 and是逻辑运算符。C2. 用Python算法控制结构描述“行驶速度低于20 km/h,被定义为拥堵路段,20 km/h- 40 km/h为行驶缓慢,40 km/h 以上为道路畅通”,下列选项中,错.误.的是( )A. if v<20: print("拥堵路段")elif v<=40: print("行驶缓慢")else: print("道路畅通")B. if v>40: print("道路畅通")elif v>=20: print("行驶缓慢")else: print("拥堵路段")C. if v>40: print("道路畅通")elif v<40: print("行驶缓慢")else: print("拥堵路段")D. if v>=20: if v<=40: print("行驶缓慢") else: print("道路畅通")else: print("拥堵路段")【解析】 C中,v<40都属于“行驶缓慢”;且只有v=40时,才属于“拥堵路段”,与题干信息不符。C3. 学校举行大合唱比赛,每个班级演唱结束后会有10位评委打分,最终得分的计分规则如下:去掉一个最高分,去掉一个最低分,求平均分。编写Python程序,实现快速计分,代码如下:n=10scores, maxs, mins=0, 0, 10for i in range(n): s=float(input("第"+str(i)+"位评委给分:")) if maxs < s: maxs=s elif mins>s: mins=s scores+=s avg= print("平均分为:"+str(round(avg,2)))下列关于该程序的说法,错.误.的是( )A.将“elif”改为“if”,程序功能不变B.横线上的代码为“(scores-maxs-mins)/(n)”C.将倒数第2行的代码取消缩进,算法更佳D.此程序段只适用于满分不超过10分的情况【解析】 本题主要考查Python程序的调试。分析程序可知,将“elif”改为“if”,程序功能不变;横线上的代码为“(scores-maxs-mins)/(n-2)”;将倒数第2行的代码取消缩进,该语句只执行一次,因此算法更佳;此程序段只适用于满分不超过10分的情况。B4. 中学生的跳绳体测标准如下:一分钟140~180个为合格,大于或等于180个为优秀。设n为一分钟的跳绳个数,则下列Python程序段中,能够正确输出跳绳体测成绩的是( )A. if n>=140: print("合格")elif n>=180: print("优秀")B. if n>=180: print("优秀")else: print("合格")C. if n>=180: print("优秀")elif n>=140: print("合格")D. if 140 print("合格")else: print("优秀")C【解析】 本题主要考查Python分支结构的应用。一分钟跳绳140个为合格,大于等于180个为优秀,因此能够正确输出跳绳体测成绩的是:if n>=180: print("优秀")elif n>=140: print("合格")5. 下列Python程序段执行后,变量d的值是( )d=2t=3if t>=1 and t<=5: d=d*(1+t)else: d=d*tA. 2 B. 4C. 6 D. 8【解析】 本题主要考查Python分支结构的应用。d=2,t=3,满足t>=1 and t<=5,因此执行 d=d*(1+t)=8。D6. 如下所示的代码,当输入23时,输出的结果是( )s=int(input("请输入"))if s<5: print("小了")elif s<15: print("还是有点小了")elif s<25: print("差不多")elif s>=25: print("很好")else: print("这不是数字")A. 这不是数字 B. 小了C. 很好 D. 差不多【解析】 本题主要考查Python程序的执行。当输入23时,满足s<25,输出结果为“差不多”。D7. 如下所示的代码运行后,输出的结果是( )a=5b=10if a>b: max=aelse: max=bprint(max)A. 0 B. 5 C. 10 D. 15【解析】 本题主要考查Python程序的执行。程序代码中用到了分支结构,当a>b条件成立时,执行语句max=a;否则执行语句max=b。程序代码中a=5,b=10,所以a>b这个条件不成立。C8. 闰年分为普通闰年和世纪闰年。当公历年份是4的倍数,且不是100的倍数时,为普通闰年(如2020年是普通闰年);当公历年份是400的倍数时,为世纪闰年(如1900年不是闰年,2000年是世纪闰年) 。下面的Python程序能够判断输入的年份是否为闰年:year=int(input("请输入一个年份:"))if : print(year, "年是闰年")else: print(year, "年不是闰年")横线上应填入的代码为( )A. year%4==0 and year%100!=0B. year%4==0 and year%100!=0 or year%400==0C. year%4==0 or year%100!=0 or year%400==0D. year%4==0 and year%100!=0 and year%400==0【解析】 and的优先级高于or,所以程序先计算year%4==0 and year%100!=0,其结果用来判断是否为普通闰年;year%400==0的结果用来判断是否为世纪闰年。普通闰年和世纪闰年都属于闰年,所以用or连接。B9. 用Python 算法描述鱼缸水温预警功能:当水温t高于32℃时, LED 灯呈现“红色”;低于27℃时,LED 灯呈现“蓝色”;其余情况LED 灯呈现“绿色”。# 通过传感器获取鱼缸内水温值,并存储到变量t中,代码略LED ="绿色"if : if t>32: LED="红色" else: LED="蓝色"print("LED 灯显示颜色:",LED)为实现上述功能,横线上应填入的Python表达式为( )A. not(27<t<32) B. t<27C. t<27 or t>32 D. t<27 and t>32【解析】 本题考查if语句和逻辑结构知识。由于两个if语句是嵌套的,因此外层if语句指定的范围必须包含内层if语句的数据范围,否则内层的if语句无效,可排除A、B、D。C关键能力练10. 阅读下列Python程序,回答下列问题。x=20if x>=10: value=4*xelse: value=5*xprint(value)该程序采用__________结构,程序输出的结果是__________。 【解析】 本题主要考查Python分支结构的应用。①分析程序可知,该程序采用分支结构。②当输入x=20时,满足if条件,执行value=4*x=80,故输出结果是80。分支8011. 阅读下列Python程序,写出运行结果。a=5if a>3 and (a==4 or a<6): print("Hello")else: print("Bye")运行结果是__________。 【解析】 本题主要考查Python分支结构。逻辑运算符or两边的值均为假时值才为假,否则值为真;逻辑运算符and两边的值均为真时值才为真,否则值为假;not是取反。a=5,满足if判断条件,输出结果是Hello。Hello12. 有红、绿、黄3盏灯轮流亮。若现在是红灯亮,则接下来绿灯亮,往后是黄灯亮,往后又是红灯亮,如此循环往复。从键盘读取当前亮灯的颜色(只能是红、绿或黄),输出下一次亮灯的颜色。实现上述功能的Python程序如下,请在横线上填入合适的代码:①__________,②____________________, ③______________________。 light=input("请输入当前亮灯的颜色:")if light=="红": next_light= ① ② : next_light="黄"else: ③ print("下一次亮灯的颜色为:",next_light)【解析】 根据题目描述可知,红、绿、黄3盏灯是轮流亮的,由此可知算法的逻辑,从而得到正确答案。"绿"elif light=="绿"next_light="红"13. 某城市轨道交通实行分段计程票价制,起步票价为:乘坐5站以下(含5站),单人票价为2元;乘坐5站以上、10站以下(含10站),单人票价为3元;乘坐10站以上、16站以下(含16站),单人票价为4元;乘坐16站以上,单人票价为5元。按上述要求,编写Python程序,功能如下:从键盘输入乘坐的站数,根据定价标准,输出单人票价。n=int(input("请输入乘坐的站数:"))if ① : print("票价为2元")elif ② : print("票价为3元")elif ③ : print("票价为4元")else: print("票价为5元")请回答下列问题:(1)当乘坐的站数为12时,单人票价是 __________元。 (2)请在横线上填入合适的代码:①__________,②__________,③__________。 【解析】 (1)乘坐站数为12,在10站以上、16站以下,单人票价为4元。(2)通过题目可以分析出有4种分支情况,根据不同的分支情况,补充题中的条件判断语句。4n<=5n<=10n<=1614. 某公司员工的基本工资按工龄分为不同的等级,工龄5年以下基本工资3000 元,5 年至9 年基本工资5000元,10 年及以上基本工资8000 元。下列程序中,不.能.正确计算该公司员工基本工资的是( )A. if year>=10: bs=8000elif year>=5: bs=5000else: bs=3000B. if year>9: bs=8000if year>5: bs=5000else: bs=3000C. bs=3000if year>4: bs=5000if year>9: bs=8000D. bs=5000if year<5: bs=3000elif year>9: bs=8000【解析】 B,两个条件判断是并列的,若year=12,则bs经过两次判断后的结果是5000,但正确的bs肯定是8000,因此B的逻辑结构错误。B15. 体重指数(BMI)是用体重(千克)除以身高(米)的平方得出的数字,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。当我们需要比较及分析不同身高的人的体重对于健康的影响时,BMI是一个可靠的指标,它是《国家学生体质健康标准》规定的测试项目。下面是高中男生和女生的体重指数单项评分表。表1 高中男生体重指数(BMI)单项评分表(单位:kg/m2)等级 单项得分/分 高一 高二 高三正常 100 16.5~23.2 16.8~23.7 17.3~23.8低体重 80 ≤ 16.4 ≤ 16.7 ≤ 17.2超重 23.3~26.3 23.8~26.5 23.9~27.3肥胖 60 ≥ 26.4 ≥ 26.6 ≥ 27.4表2 高中女生体重指数(BMI) 单项评分表(单位:kg/m2)等级 单项得分/分 高一 高二 高三正常 100 16.5~22.7 16.9~23.2 17.1~23.3低体重 80 ≤ 16.4 ≤ 16.8 ≤ 17.0超重 22.8~25.2 23.3~25.4 23.4~25.7肥胖 60 ≥ 25.3 ≥ 25.5 ≥ 25.8按上述要求,编写Python程序,功能如下:从键盘输入某名高二学生的性别、体重(单位:千克)和身高(单位:米)信息,利用体重指数计算公式和高中男、女生体重指数单项评分表,输出其等级,请在横线上填入合适的代码:①______________,②_______________,③_______________。 sex=input("请输入性别:")weight=float(input("请输入体重:"))height=float(input("请输入身高:"))BMI=round(weight/height**2, 1)if ① : if BMI<=16.7: grade="低体重" elif BMI<=23.7: grade="正常" elif ② : grade="超重" else: grade="肥胖"else: if BMI<=16.8: grade="低体重" elif BMI<=23.2: grade="正常" elif ③ : grade="超重" else: grade="肥胖"print(grade)sex=="男"BMI<=26.5BMI<=25.4【解析】 阅读程序可知,①②处是分析高二男生的体重指数,首先需要判断学生的性别,故①处应填入的代码为sex=="男";高二男生体重指数在23.8~26.5时等级为超重,故②处应填入的代码为BMI<=26.5;③处是分析高二女生的体重指数,高二女生体重指数在23.3~25.4时等级为超重,故③处应填入的代码为BMI<=25.4。 展开更多...... 收起↑ 资源列表 第五节 Python分支结构的程序实现.docx 第五节 Python分支结构的程序实现.pptx