

竞/赛/真/题
知识如海,学无止境
本系列文章专门针对准备参加比赛的学子们
提供每日一题的习题并会进行详细讲解,
如果需要往年完整卷子以及答案请点击下面链接🔗👇
最新出炉!|全国信息素养大赛|2025年图形化编程复赛真题答案及解析
最新出炉!|全国信息素养大赛|2025年图形化编程小高组复赛真题答案及解析
最新出炉!|全国信息素养大赛|2025年 Python复赛真题答案及解析
【真题解析】全国信息素养大赛|2025年7月图形化编程复赛|编程题真题详解(01)
❤️ 关注我们获取更多内容,更新不迷路 ❤️
2026 年 全国青少年信息素养大赛
算法应用-数字守艺人模拟卷一
Python(小高组)
【说明】
由于本次大赛赛制改版,题目融入了非遗文化的元素,
练习时没有对应的非遗素材,在考核的范围内以熟练掌握知识点并能灵活运用即可
一、单选:
01:定义非遗苏绣针法字典embroidery = {"平针":5, "打籽针":8, "盘金针":12},执行print(embroidery["盘金针"])的结果是( )
A. 5
B. 8
C. 12
D. 报错
解析:
本题考察Python中字典的使用。
字典由键-值对组成,可以通过键来访问对应的值。字典使用花括号{}定义,键和值之间用冒号:分隔。
字典embroidery = {"平针":5, "打籽针":8, "盘金针":12},
键"平针"对应值5,
键"打籽针"对应值8,
键"盘金针"对应值12。
执行print(embroidery["盘金针"]),即通过键"盘金针"访问其对应的值,结果为12。因此,选项C符合题意。
分析其他选项:
A. 5:这是键"平针"对应的值,而不是"盘金针"对应的值。
B. 8:这是键"打籽针"对应的值,而不是"盘金针"对应的值。
C. 12:正确,是键"盘金针"对应的值。
D. 报错:当键不存在于字典中时,会引发KeyError错误。但这里键"盘金针"存在于字典中,因此不会报错。
正确答案:C 12
02:非遗木雕工坊每日产量列表output = [78,85,92,88,90],执行sorted(output, reverse=True)后,第一个元素是( )
A. 78
B. 92
C. 90
D. 85
解析:
本题考察Python中sorted()函数的使用。
sorted()函数用于对可迭代对象(如列表)进行排序,返回一个新的列表。参数reverse=True表示降序排序(从大到小),默认reverse=False为升序排序(从小到大)。
题目中列表output = [78,85,92,88,90],执行sorted(output, reverse=True)会进行降序排序,得到新列表[92, 90, 88, 85, 78],第一个元素(索引0)是92。因此,选项B符合题意。
分析其他选项:
A. 78:错误,78是原列表的第一个元素,但降序排序后是最后一个元素。
B. 92:正确,降序排序后是最大的元素,排在第一个。
C. 90:错误,90是排序后的第二个元素,不是第一个。
D. 85:错误,85是排序后的第四个元素,不是第一个。
正确答案:B 92
03: 定义非遗糖画制作工具元组tools = ("铜勺", "石板", "糖稀", "剪刀"),下列操作正确的是( )
A. tools[2] = "麦芽糖"
B. print(len(tools))
C. tools.append("竹签")
D. tools.remove("剪刀")
解析:
本题考察Python中元组的基本操作。
元组是一种不可变的有序序列,一旦创建,其元素不能被修改、添加或删除。但可以访问元组元素,获取元组长度等。
元组tools = ("铜勺", "石板", "糖稀", "剪刀"),元组长度为4,元素索引从0开始。
分析选项:
A. tools[2] = "麦芽糖":错误,
元组是不可变的,不允许通过索引赋值来修改元素,此操作会引发TypeError。
B. print(len(tools)):正确,
len()函数可以用于元组,返回元组中元素的数量,此处输出结果为4。
C. tools.append("竹签"):错误,
元组没有append()方法,因为元组不可变,不能添加新元素,此操作会引发AttributeError。
D. tools.remove("剪刀"):错误,
元组没有remove()方法,因为元组不可变,不能删除元素,此操作会引发AttributeError。
正确答案:B. print(len(tools))
04: 执行语句for i in range(3, 9, 2): print(i),不会输出的数字是( )
A. 3
B. 5
C. 7
D. 9
解析:
本题考察Python中range()函数的使用。
range(start, stop, step)生成一个从start开始、到stop结束(不包括stop)、步长为step的整数序列。
题目中执行range(3,9,2)生成的序列是3,5,7
(从3开始,步长2,依次递增,直到大于等于9停止,不包含9),
因此循环会依次输出3、5、7。9不在序列中,所以不会输出。
正确答案:D 9
05: 非遗扎染工坊二维数据dye = [[200,5],[300,8],[250,6]],表示(染料用量,制作件数),dye[2][1]的值是( )
A. 250
B. 8
C. 6
D. 300
解析:
本题考察Python中二维列表索引的使用。
二维列表是列表的列表,通过两层索引访问元素,第一层索引指定子列表,第二层索引指定子列表中的元素,索引从0开始。
题目中定义二维列表dye = [[200,5],[300,8],[250,6]],
dye[0]为[200,5],
dye[1]为[300,8],
dye[2]为[250,6]。
dye[2][1]表示先获取索引2的子列表[250,6],再获取该子列表中索引1的元素,即6,选项C符合题意。
分析其他选项:
A. 250:这是dye[2][0]的值,即第三个子列表的第一个元素。
B. 8:这是dye[1][1]的值,即第二个子列表的第二个元素。
C. 6:正确,是dye[2][1]的值。
D. 300:这是dye[1][0]的值,即第二个子列表的第一个元素。
正确答案:C 6
06:执行try: print(int("非遗")) except ValueError: print("输入错误"),输出结果是( )
A. 非遗
B. 输入错误
C. 0
D. 报错
解析:
本题考察Python中异常处理(try-except)的使用。
在try块中尝试执行可能引发异常的代码,如果发生异常,则跳过try块剩余代码,转到匹配的except块执行。
int()函数将字符串转换为整数,当字符串不是有效的数字格式时会引发ValueError异常。
题目中执行try: print(int("非遗")) except ValueError: print("输入错误"),字符串"非遗"无法转换为整数,int("非遗")会引发ValueError异常,然后被except ValueError:捕获,执行print("输入错误"),因此输出结果为"输入错误",选项B符合题意。
分析其他选项:
A. 非遗:错误,因为int("非遗")会引发异常,不会正常打印"非遗"。
B. 输入错误:正确,异常被捕获后执行打印"输入错误"。
C. 0:错误,int()转换失败不会返回0,而是引发异常。
D. 报错:错误,try-except捕获了异常,程序不会报错终止,而是执行except块中的代码。
正确答案:B 输入错误
07: 非遗戏曲列表opera = ["京剧", "越剧", "昆曲", "豫剧", "黄梅戏"],执行opera[-3]的结果是()
A. 昆曲
B. 越剧
C. 豫剧
D. 京剧
解析:
本题考察Python中列表索引的使用,特别是负索引。
列表的索引可以是正整数(从0开始,从左向右计数)或负整数(从-1开始,从右向左计数)。
负索引-1表示最后一个元素,-2表示倒数第二个,依此类推。
定义列表opera = ["京剧", "越剧", "昆曲", "豫剧", "黄梅戏"],
其负索引对应关系为:
索引-1 = "黄梅戏",
索引-2 = "豫剧",
索引-3 = "昆曲",
索引-4 = "越剧",
索引-5 = "京剧"。
执行opera[-3]即访问倒数第三个元素,结果为"昆曲",选项A符合题意。
正确答案:A 昆曲
08: 非遗竹编工坊产量字典prod = {"周一":75, "周二":82, "周三":78, "周四":85},获取所有值的和的正确代码是( )
A. sum(prod)
B. sum(prod.keys())
C. sum(prod.values())
D. len(prod)
解析:
本题考察Python中字典方法的使用,特别是对字典的键、值和项的操作,以及sum()函数和len()函数的使用。
字典prod = {"周一":75, "周二":82, "周三":78, "周四":85},包含键值对,其中键是字符串,值是整数。要获取所有值的和,需要先获取值的序列,然后使用sum()函数求和。
分析选项:
A. sum(prod):错误,
sum()函数可以用于可迭代对象,但直接对字典使用sum()相当于对字典的键进行求和。字典的键是字符串,字符串不能求和,会引发TypeError。
B. sum(prod.keys()):错误,
prod.keys()返回字典所有键的视图,键是字符串"周一"、"周二"等,字符串不能求和,也会引发TypeError。
C. sum(prod.values()):正确,
prod.values()返回字典所有值的视图,值都是整数75,82,78,85,sum()函数可以对它们求和,得到75+82+78+85=320。
D. len(prod):错误,
len(prod)返回字典中键值对的数量,即4,而不是值的和。
正确答案: C sum(prod.values())
09: 列表paper_cut = [120, 150, 180, 130],执行paper_cut.pop(2)后,列表的长度是( )
A. 3
B. 4
C. 2
D. 5
解析:
本题考察Python中列表的pop( )方法的使用。
pop()方法用于移除列表中的一个元素(默认最后一个元素),并返回该元素的值。它接受一个可选参数,即要移除元素的索引。移除元素后,列表长度减1。
列表paper_cut = [120, 150, 180, 130],初始长度为4。
执行paper_cut.pop(2)会移除索引为2的元素,即第三个元素180。
移除后,列表变为[120, 150, 130],长度为3。
正确答案:A 3
10:二维数据craftsman = [["李师傅",95,90],["王师傅",88,92],["张师傅",92,89]],表示(姓名,上午产量,下午产量),获取王师傅下午产量的写法是( )
A. craftsman[1][2]
B. craftsman[2][1]
C. craftsman[1][1]
D. craftsman[0][2]
解析:
本题考察Python中二维列表索引的使用。
二维列表是列表的列表,通过两层索引访问元素,第一层索引指定子列表(代表每个工匠),第二层索引指定子列表中的元素(代表姓名、上午产量、下午产量),索引从0开始。
二维列表craftsman = [["李师傅",95,90],["王师傅",88,92],["张师傅",92,89]],
craftsman[0] = 李师傅,
craftsman[1] = 王师傅,
craftsman[2] = 张师傅。
每个子列表内,索引0为姓名,索引1为上午产量,索引2为下午产量。
获取王师傅的下午产量,即获取craftsman[1][2],其值为92,选项A符合题意。
正确答案:A craftsman[1][2]
11:定义非遗剪纸价格字典price = {"窗花":15, "福字":20, "生肖":25},修改福字价格为22的正确语句是( )
A. price[福字] = 22
B. price["福字"] = 22
C. price.add("福字",22)
D. price.set("福字",22)
解析:
本题考察Python中字典修改操作的使用。
字典是一种可变容器模型,可存储键值对,通过键来访问或修改对应的值。
修改字典中已有键的值,可以使用赋值语句:dict[key] = new_value。
定义字典price = {"窗花":15, "福字":20, "生肖":25},
要修改键"福字"对应的值为22,应使用price["福字"] = 22,选项B符合题意。
分析选项:
A. price[福字] = 22:键名福字没有加引号,Python会将其解释为变量名,但福字变量未定义,会导致NameError。
B. price["福字"] = 22:正确,通过字符串键名赋值修改。
C. price.add("福字",22):字典没有add()方法,该方法不存在,会报错。
D. price.set("福字",22):字典没有set()方法,该方法不存在,会报错。
正确答案:B price.set("福字",22)
12:非遗陶艺烧制时间列表time = [1.5, 2.0, 1.8, 2.2, 1.6],计算平均烧制时间的正确代码是()
A. sum(time)/len(time)
B. sum(time)*len(time)
C. max(time)+min(time)
D. (max(time)-min(time))/2
解析:
本题考察Python中列表的基本运算,特别是计算平均值的方法。平均值等于列表中所有元素的总和除以元素的个数。
在Python中,sum()函数用于计算列表中所有元素的和,len()函数用于获取列表的长度(即元素个数)。
平均烧制时间的计算公式为:总和 / 元素个数,即sum(time)/len(time)。选项A符合题意。
分析选项:
A. sum(time)/len(time):正确,符合平均值的计算公式。
B. sum(time)*len(time):这是总和乘以长度,得到的结果是总和与长度的乘积,数值会远大于实际平均值,没有意义。
C. max(time)+min(time):这是列表中的最大值和最小值的和,只能反映两个极端值的总和,不能代表所有数据的平均水平。
D. (max(time)-min(time))/2:这是最大值和最小值差的一半,表示数据范围的中点,不能反映所有数据的平均值。
正确答案:A. sum(time)/len(time)
13:执行语句i=0; while i<4: i+=1; if i==3: break; print(i),最后输出的i是( )
A. 2
B. 3
C. 4
D. 0
解析:
本题考察Python中while循环和break语句的使用。
代码执行流程如下:
初始化i=0。
while循环条件i<4为真时进入循环。
循环体内执行i+=1,使i增加1。
判断如果i==3,则执行break跳出循环,否则执行print(i)输出i。
循环继续,直到条件不满足或break。
具体执行过程:
第一次循环:i=0,条件真,i+=1后i=1,i==3为假,输出1。
第二次循环:i=1,条件真,i+=1后i=2,i==3为假,输出2。
第三次循环:i=2,条件真,i+=1后i=3,i==3为真,执行break,跳出循环,不再执行后面的print(i)。
因此,print(i)输出的值依次为1和2,最后输出的i是2。
正确答案:A 2
14:定义非遗文创列表cultural = ["皮影", "刺绣", "陶艺", "木雕"],判断"竹编"是否在列表中的正确语句是( )
A. "竹编" in cultural
B. cultural in "竹编"
C. cultural.index("竹编")
D. cultural.find("竹编")
解析:
本题考察Python中判断元素是否在列表中的方法。
在Python中,可以使用in关键字来检查一个元素是否存在于列表中,语法为元素 in 列表,返回布尔值True或False。
定义列表cultural = ["皮影", "刺绣", "陶艺", "木雕"],
要判断"竹编"是否在列表中,应使用"竹编" in cultural,该表达式会返回False,因为"竹编"不在列表中。因此选项A符合题意。
分析选项:
B. cultural in "竹编":错误,
in关键字要求左侧为要查找的元素,右侧为容器。这里左右颠倒,变成了检查列表是否在字符串中,逻辑错误,且总是返回False。
C. cultural.index("竹编"):错误,
index()方法用于返回元素在列表中的索引,但如果元素不存在,会引发ValueError异常,不能直接用于判断是否存在(除非结合异常处理)。
D. cultural.find("竹编"):错误,
列表没有find()方法,find()是字符串的方法。
正确答案: A "竹编" in cultural
15:非遗工坊采购宣纸x=450张,分发给9个匠人,执行x//9的结果是( )
A. 50.0
B. 50
C. 45
D. 9
解析:
本题考察python中算术运算符的使用。
算术运算符有:+(加法)、-(减法)、*(乘法)、/(除法)、//(取整数)、%(取余数)
题目中执行x//9,其中x=450,//是取整数运算,即计算x除以9的商并向下取整。
450除以9的商为50,余数为0,故取整数结果为50,选项B符合题意。
正确答案:B 50
二、判断题
01:Python中元组的元素可以进行修改和删除操作。( )
A. 正确
B. 错误
解析:
本题考察Python中元组的性质。
元组(tuple)是一种不可变的序列类型,一旦创建,其元素不能被修改、添加或删除。对元组进行修改或删除元素的操作会引发TypeError异常。
因此,说法“Python中元组的元素可以进行修改和删除操作”是错误的。
正确答案 B 错误
02:二维数据可以用列表的列表来表示,通过双层索引可以访问具体元素。( )
A. 正确
B. 错误
解析:
本题考察Python中二维数据的表示。
在Python中,二维数据(如矩阵、表格)常用列表的列表(即嵌套列表)表示。外层列表的每个元素是一个内层列表,代表一行或一列数据。通过双层索引(如data[i][j])可以访问具体元素,其中i为外层索引,j为内层索引。
因此,说法“二维数据可以用列表的列表来表示,通过双层索引可以访问具体元素”是正确的。
正确答案 A 正确
03:try-except异常处理结构中,except块可以捕获并处理try块中出现的程序错误。( )
A. 正确
B. 错误
解析:
本题考察Python中异常处理机制。
try-except结构用于捕获和处理运行时异常
当try块中的代码执行时发生异常,程序会立即跳转到匹配的except块,执行异常处理代码,从而避免程序崩溃。但需要注意的是,try-except只能捕获运行时异常,无法处理语法错误等编译前错误。
因此,说法“try-except异常处理结构中,except块可以捕获并处理try块中出现的程序错误” 正确,这里的“程序错误”通常指运行时异常。
正确答案 A 正确
04:Python中字典的键可以重复,值不可以重复。( )
A. 正确
B. 错误
解析:
本题考察Python字典的特性。
字典是一种键值对的无序集合,其中键必须是唯一的,不能重复;而值可以重复,没有限制。如果字典中出现重复的键,则后面的值会覆盖前面的值。因此说法错误。
正确答案 B 错误
05:for循环中使用continue语句可以终止整个循环的执行。( )
A. 正确
B. 错误
解析:
本题考察Python中循环控制语句的作用。
在for循环中,continue语句用于跳过当前迭代的剩余代码,直接进入下一次迭代,而不会终止整个循环。若要完全终止循环,应使用break语句。
正确答案 B 错误
往
期
文
件



获取更多资料,请关注我们⬇️
考级、竞赛、真题练习各类相关材料,关注即可获取❤️
【系列更新说明】
本公众号定期且长期更新信息素养大赛的真题解析
并收录于本公众号的“信息素养大赛”合集中
助力各位小伙伴们提前备战
每一届的信息素养大赛
新意编程教师团队带领大家
深度剖析真题:
🔍 难点解析 + 避坑指南
💻 清晰步骤 + 多解法演示
📝 得分要点全掌握!
我们还免费向大家提供
【编程每日一练】
【逻辑思维每日一练】
一天一题,提升实战力!
并有专属教师为您答疑解惑
快与我们
一起学习!一起进步!





新意编程,秉持以孩子的教育为首的理念,有持证上岗带教经验丰富、专业扎实的老师。专业的STEAM教育,专注培养孩子的逻辑思维、专注力,引导孩子结合课内外知识、结合生活,链接经验、解决问题等多方面能力。选择新意,让孩子学有所获、学有所成;让家长放心和安心。
👇新意由来👇
1、一心一意做编程
2、做有新意的编程
3、诚心诚意为孩子
更多内容请关注微信公众号:新意编程
