2026年7月19日全国青少年信息素养大赛python小高组复赛真题(智传民韵)
一、单选题(共 5 题,每题 2 分)
1.传统竹编工艺中,工匠需要统计一批竹条的合格长度。现有程序统计所有大于 20的竹条长度总和,请阅读代码,程序最终输出结果为?
nums = [18, 25, 22, 19, 30, 15]
s = 0
for n in nums:
ifn > 20:
s+= n
print(s)
A.77
B.55
C.84
D.67
解析
筛选数值大于 20:25、22、30;求和 25+22+30=77
2.小明假期去周庄古镇旅游,美丽的石拱桥让他流连忘返。他发现桥上的石台阶十分规整,每一级台阶的高度均为 15 厘米。回家后,小明编写了一段程序,想要计算连续 4 级石台阶的总高度。为了使程序能够正确计算结果,横线处应填写哪条语句?
total_height = 0
for i in ______:
total_height += 15
print(total_height)
A. range(1,4)
B. range(0,3)
C. range(4)
D. range(3)
解析:range (n) 生成 0~n-1,共循环 n 次;range (4) 循环 4 次,刚好计算 4 级台阶。ABD 仅循环 3 次。
3.在徽州的一家老字号徽墨工坊里,墨匠师傅正对一批出新窑并完成描金的 “桐烟墨锭” 进行质量称重检测(单位:克)。师傅记录完前三块墨锭的重量后,又补录了第四块墨锭。小明编写了如下程序来处理这组称重数据,请问程序运行后,控制台输出的结果是多少?
results = [120, 115, 118]
results.append(122)
results.sort(reverse=True)
print(results[2])
A.115
B.120
C.122
D.118
解析
追加元素后列表:[120,115,118,122];降序排序:[122,120,118,115];下标从 0 开始,下标 2 数值为 118。
4.苏州园林移步换景,妙趣横生。为了让游客随机游览的乐趣,某景区开发了一款智能导览小程序,通过随机数从四大名园中抽取一个推荐给游客。程序代码如下所示。请问,运行程序时,控制台不可能打印出来的园林是哪一个?
import random
pavilions = ["沧浪亭", "狮子林", "拙政园", "留园"]
idx = random.randint(1, 3)
print(pavilions[idx])
A. 沧浪亭
B. 狮子林
C. 拙政园
D. 留园
解析:randint(a,b)包含左右边界,idx 只能取 1、2、3;下标 0 对应 “沧浪亭” 永远无法取出。
5.铜鼓吹是一种多声部、无伴奏的民间合唱音乐。声乐老师用计算机程序来分析各个声部录音音频的时长数据(单位:秒)。他编写了一个函数并传入了当前各声部的录音时长列表,请问程序运行结束后,控制台最终输出的结果是多少?
def calculate_duration(song_parts):
total = 0
for part in song_parts:
if part > 100:
total += part
return total
durations = [100, 150, 130, 90]
result = calculate_duration(durations)
print(result)
A.470
B.280
C.190
解析:
条件part>100,仅 150、130 满足;150+130=280。100 不满足判断条件。
二、多选题(共 5 题,每题 4 分)
6.汉服社的同学们在核对传统大袖衫的胸围与袖展尺寸是否符合古典形制。已知在 Python 中定义了两个变量:bust = 110(胸围),sleeve = 190(袖展)。哪几个选项的 Python 表达式运行后的返回结果是 True?
A. bust >= 100 and sleeve < 200
B. bust == 110 or sleeve > 200
C. bust := bust + 10
D. bust != 110 and sleeve == 190
解析:A:110≥100 真,190<200 真,整体 True; B:or 左侧为真,整体 True; C:海象赋值,返回数字 120,不是布尔值; D:bust!=110 为 False,and 整体 False。
7.在对国家级非物质文化遗产 “长沙窑铜官陶瓷” 进行现代化窑炉温度监控时,小明编写了一段数据登记程序。为了实现登记烧制目标温度(存储到整型变量 target 中)和当前的炉温状态(存储到字符串变量 status 中),选项中的赋值语句满足要求的有哪些?
A.
target = 1250, status = "加热中"
B.
target = 1250
status = "加热中"
C.
target, status = 1250, "加热中"
D.
target, status = "加热中", 1250
解析
A 错误:Python 语法不允许在同一行用逗号分隔两个独立赋值语句,直接运行会报语法错误。
B 正确:分行标准赋值,分别给两个变量赋予对应数值、字符串,语法合法、赋值结果符合需求。
C 正确:序列解包并行赋值,左侧变量与右侧值一一对应,target=1250,status="加热中",完全满足要求。
D 错误:左右两侧数据顺序颠倒,target 会被赋值为字符串"加热中",status 赋值为数字 1250,变量存储内容不符合题意要求。
8.龙舟赛组委会要通过计算机给各队伍的冲线时间(变量 time,单位:秒)进行等级划分,规则如下:时间小于等于 60 秒获得 “金龙旗”;在 6080 秒之间(含 80 秒)获得 “银龙旗”;其余时间获得 “优胜奖”。哪些程序段能够正确地实现该逻辑?
A.
if time <= 60:
print("金龙旗")
elif time <= 80:
print("银龙旗")
else:
print("优胜奖")
B.
if time <= 60:
print("金龙旗")
if 60 < time <= 80:
print("银龙旗")
if time > 80:
print("优胜奖")
C.
if time <= 60:
print("金龙旗")
elif time > 60 and time <= 80:
print("银龙旗")
else:
print("银龙旗")
D.
if time > 80:
print("优胜奖")
elif time > 60:
print("银龙旗")
else:
print("金龙旗")
解析
A:互斥分支,区间划分、输出全对B:三个独立 if,区间无重叠无遗漏C:超过 80 秒时错印银龙旗 D:从大到小判断,逻辑完全正确
9.宣纸制作需要经过上百道工序,捞纸工坊的检测程序在循环中不断读取纸张状态,一旦发现 “次品” 就会立刻停机检查。关于该程序的运行状态,选项中说法正确的有哪些?
papers = ["合格", "合格", "次品", "合格"]
index = 0
while True:
status = papers[index]
if status == "次品":
print("发现次品,停机!")
break
print("捞纸成功")
index += 1
A. 程序运行过程中,共计会打印 2 次 “捞纸成功”
B. 当程序执行到 break 语句时,变量 index 的当前值是 3
C. 程序最终会因为执行了 break 语句而正常结束循环
D. while True 循环会完整遍历 papers 列表
解析
index=0:合格,打印捞纸成功,index=1
index=1:合格,打印捞纸成功,index=2
index=2:次品,执行 break,index 不变为 2
A:打印 2 次,正确
B:break 时 index=2,错误
C:break 跳出死循环,正常结束,正确
D:下标 3 未访问,没有完整遍历,错误
10.毕昇发明的活字印刷术是人类印刷史上的一次伟大革命。排版工人在准备一个 2 行 3 列的活字字盘,为了测试字盘的对齐效果,工人决定在特定位置(行号与列号相同的位置)排上 “红”字 活字,其余位置排上 “黑” 字活字。小明编写了以下双层循环代码,来模拟这个2×3字盘最终印刷在纸张上的实际效果。请问关于这段代码的说法中,正确的有哪些?
for row in range(2):
line = ""
for col in range(3):
if row == col:
line += "红"
else:
line += "黑"
print(line)
A. 外层循环变量 row 的取值范围是 1 到 2
B. 当 row!= col 时,程序会向 line 中拼接 “黑” 字
C. 内层循环体的双分支判断在整个程序运行中共运行了 6 次
D. 程序运行结束后,屏幕上会打印出 2 行内容,其中第一行是 “红黑黑”,第二行是 “黑黑红”
解析
A:range (2) 取值 0、1,错误
B:不相等拼接黑字,正确
C:外层 2 次,内层每次 3 次,总 2×3=6 次判断,正确
D:第二行 row=1,仅 col=1 为红,输出黑红黑,错误
三、编程题
11.古筝指法连乘运算
参考程序:
12.高龄歌王评选
参考程序:
13.龙舟组队方案计数
参考程序:
14.五彩布条拼接
参考程序:
完整试卷:
通过网盘分享的文件:2026年7月19Python小高组
链接: https://pan.baidu.com/s/1KusuycjDHu9L-IsjfsbstQ 提取码: zm6c
--来自百度网盘超级会员v8的分享