第五节 Python分支结构的程序实现 同步练(含答案)2025-2026学年高中信息技术 必修1 数据与计算

资源下载
  1. 二一教育资源

第五节 Python分支结构的程序实现 同步练(含答案)2025-2026学年高中信息技术 必修1 数据与计算

资源简介

第五节 Python分支结构的程序实现
1. 下列保留字中,不属于分支结构的是( C )
A. if B. else
C. 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=10
scores, maxs, mins=0, 0, 10
for 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=2
t=3
if t>=1 and t<=5:
  d=d*(1+t)
else:
  d=d*t
A. 2 B. 4
C. 6 D. 8
【解析】 本题主要考查Python分支结构的应用。d=2,t=3,满足t>=1 and
t<=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=5
b=10
if a>b:
  max=a
else:
  max=b
print(max)
A. 0 B. 5
C. 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!=0
B. year%4==0 and year%100!=0 or year%400==0
C. year%4==0 or year%100!=0 or year%400==0
D. 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<27
C. t<27 or t>32 D. t<27 and t>32
【解析】 本题考查if语句和逻辑结构知识。由于两个if语句是嵌套的,因此外层if语句指定的范围必须包含内层if语句的数据范围,否则内层的if语句无效,可排除A、B、D。
10. 阅读下列Python程序,回答下列问题。
x=20
if x>=10:
  value=4*x
else:
  value=5*x
print(value)
该程序采用 分支 结构,程序输出的结果是 80 。
【解析】 本题主要考查Python分支结构的应用。①分析程序可知,该程序采用分支结构。②当输入x=20时,满足if条件,执行value=4*x=80,故输出结果
是80。
11. 阅读下列Python程序,写出运行结果。
a=5
if 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=8000
elif year>=5:
  bs=5000
else:
  bs=3000
B. if year>9:
  bs=8000
if year>5:
  bs=5000
else:
  bs=3000
C. bs=3000
if year>4:
  bs=5000
if year>9:
  bs=8000
D. bs=5000
if year<5:
  bs=3000
elif 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. else
C. and D. elif
【解析】 and是逻辑运算符。
C
2. 用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时,才属于“拥堵路段”,与题干信息不符。
C
3. 学校举行大合唱比赛,每个班级演唱结束后会有10位评委打分,最终得分的计分规则如下:去掉一个最高分,去掉一个最低分,求平均分。编写Python程序,实现快速计分,代码如下:
n=10
scores, maxs, mins=0, 0, 10
for 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分的情况。
B
4. 中学生的跳绳体测标准如下:一分钟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=2
t=3
if t>=1 and t<=5:
  d=d*(1+t)
else:
  d=d*t
A. 2 B. 4
C. 6 D. 8
【解析】 本题主要考查Python分支结构的应用。d=2,t=3,满足t>=1 and t<=5,因此执行 d=d*(1+t)=8。
D
6. 如下所示的代码,当输入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,输出结果为“差不多”。
D
7. 如下所示的代码运行后,输出的结果是(  )
a=5
b=10
if a>b:
   max=a
else:
   max=b
print(max)
A. 0 B. 5 C. 10 D. 15
【解析】 本题主要考查Python程序的执行。程序代码中用到了分支结构,当a>b条件成立时,执行语句max=a;否则执行语句max=b。程序代码中a=5,b=10,所以a>b这个条件不成立。
C
8. 闰年分为普通闰年和世纪闰年。当公历年份是4的倍数,且不是100的倍数时,为普通闰年(如2020年是普通闰年);当公历年份是400的倍数时,为世纪闰年(如1900年不是闰年,2000年是世纪闰年) 。下面的Python程序能够判断输入的年份是否为闰年:
year=int(input("请输入一个年份:"))
if     :
  print(year, "年是闰年")
else:
  print(year, "年不是闰年")
横线上应填入的代码为(  )
A. year%4==0 and year%100!=0
B. year%4==0 and year%100!=0 or year%400==0
C. year%4==0 or year%100!=0 or year%400==0
D. year%4==0 and year%100!=0 and year%400==0
【解析】 and的优先级高于or,所以程序先计算year%4==0 and year%100!=0,其结果用来判断是否为普通闰年;year%400==0的结果用来判断是否为世纪闰年。普通闰年和世纪闰年都属于闰年,所以用or连接。
B
9. 用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<27
C. t<27 or t>32 D. t<27 and t>32
【解析】 本题考查if语句和逻辑结构知识。由于两个if语句是嵌套的,因此外层if语句指定的范围必须包含内层if语句的数据范围,否则内层的if语句无效,可排除A、B、D。
C
关键能力练
10. 阅读下列Python程序,回答下列问题。
x=20
if x>=10:
  value=4*x
else:
  value=5*x
print(value)
该程序采用__________结构,程序输出的结果是__________。
【解析】 本题主要考查Python分支结构的应用。①分析程序可知,该程序采用分支结构。②当输入x=20时,满足if条件,执行value=4*x=80,故输出结果是80。
分支
80
11. 阅读下列Python程序,写出运行结果。
a=5
if a>3 and (a==4 or a<6):
  print("Hello")
else:
  print("Bye")
运行结果是__________。
【解析】 本题主要考查Python分支结构。逻辑运算符or两边的值均为假时值才为假,否则值为真;逻辑运算符and两边的值均为真时值才为真,否则值为假;not是取反。a=5,满足if判断条件,输出结果是Hello。
Hello
12. 有红、绿、黄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种分支情况,根据不同的分支情况,补充题中的条件判断语句。
4
n<=5
n<=10
n<=16
14. 某公司员工的基本工资按工龄分为不同的等级,工龄5年以下基本工资3000 元,5 年至9 年基本工资5000元,10 年及以上基本工资8000 元。下列程序中,不.能.正确计算该公司
员工基本工资的是(  )
A. if year>=10:
  bs=8000
elif year>=5:
  bs=5000
else:
  bs=3000
B. if year>9:
  bs=8000
if year>5:
  bs=5000
else:
  bs=3000
C. bs=3000
if year>4:
  bs=5000
if year>9:
  bs=8000
D. bs=5000
if year<5:
  bs=3000
elif year>9:
  bs=8000
【解析】 B,两个条件判断是并列的,若year=12,则bs经过两次判断后的结果是5000,但正确的bs肯定是8000,因此B的逻辑结构错误。
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=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.5
BMI<=25.4
【解析】 阅读程序可知,①②处是分析高二男生的体重指数,首先需要判断学生的性别,故①处应填入的代码为sex=="男";高二男生体重指数在23.8~26.5时等级为超重,故②处应填入的代码为BMI<=26.5;③处是分析高二女生的体重指数,高二女生体重指数在23.3~25.4时等级为超重,故③处应填入的代码为BMI<=25.4。

展开更多......

收起↑

资源列表