青少年软件编程(Python)等级考试试卷(二级)
青少年软件编程(Python)等级考试试卷(二级)
分数:100 题数:37
一、单选题(共25题,共50分)
1. 老师要求大家记住四大名著的作者,小明机智地想到了可以用字典进行记录,以下哪个选项的字典格式是正确?( )
A. ['曹雪芹':'红楼梦', '吴承恩':'西游记', '罗贯中':'三国演义', '施耐庵:'水浒传']
B. {'曹雪芹'-'红楼梦', '吴承恩'-'西游记', '罗贯中'-'三国演义', '施耐庵-'水浒传'}
C. {'曹雪芹':'红楼梦'; '吴承恩':'西游记'; '罗贯中':'三国演义'; '施耐庵:'水浒传'}
D. {'曹雪芹':'红楼梦', '吴承恩':'西游记', '罗贯中':'三国演义', '施耐庵':'水浒传'}
试题编号:20240112-wy-007
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:字典是用大括号括起来的,排除 A;字典中键值对中间是冒号,排除B,字典每个键值对之间,要用逗号隔开,排除 C
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
2. 已知列表a = [11,222, 333 ,4444],以下能输出333的代码是?( )
A. print(a[-1])
B. print(a[3])
C. print(a[333])
D. print(a[2])
试题编号:20240112-zms-008
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:列表的索引是从0开始,如果是反索引,则是从-1开始,所以本题的答案为D
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
3. 已知字符串str1 = 'welcome to China',word = 'some',查询word在str1中首次出现的位置,以下代码正确的是?( )
A. print(str1.index(word))
B. print(str1.find(word))
C. print(str1.find(str1, word))
D. print(str1.index(str1, word))
试题编号:20240112-zms-018
试题类型:单选题
标准答案:B
试题难度:一般
试题解析:字符串查找2个函数:find、index的区别。find找到则返回位置,未找到返回-1,index未找到会报错
考生答案:D
考生得分:0
是否评分:已评分
评价描述:
4. 已知 stu = ["Jim","Lucy","Tom","Jane"],则执行 stu[2]="Jun",stu 的值是哪一个?( )
A. ["Jun","Lucy","Tom","Jane"]
B. ["Jim","Lucy","Jim","Jun"]
C. ["Jim","Lucy","Jun","Jane"]
D. ["Jim","Jun","Tom","Jane"]
试题编号:20240129-wqj-006
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:本题考察的实列表的赋值,stu[2]="Jun"是将第三个元素修改为Jun,所以选C。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
5. 哪个选项是程序设计的三种基本结构?( )
A. 顺序结构、跳转结构、循环结构
B. 顺序结构、循环结构、分支结构
C. 过程结构、对象结构、函数结构
D. 过程结构、循环结构、分支结构
试题编号:20240129-wqj-032
试题类型:单选题
标准答案:B
试题难度:一般
试题解析:程序设计的三种基本结构是顺序结构、分支结构和循环结构。
考生答案:B
考生得分:2
是否评分:已评分
评价描述:
6. s = 8
while s > 1:
print(s)
s = s/2
上述程序的s输出了几次?( )
A. 8
B. 3
C. 4
D. 2
试题编号:20240129-wqj-034
试题类型:单选题
标准答案:B
试题难度:较难
试题解析:当型循环,当s>1时,执行循环体,否则跳出循环。s的结果是8、4.0、2.0
考生答案:C
考生得分:0
是否评分:已评分
评价描述:
7. 哪个选项不是Python程序分支结构的保留字?( )
A. if
B. elif
C. else
D. try
试题编号:20240129-wqj-035
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:try是异常处理的保留字。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
8. 运行下列代码,终端区打印的结果是?( )
dic={'qq':26453343,'weixin':35345749,'qq':394594540,'face':979789490}
print(dic['qq'])
A. 'qq':26453343
B. 'qq':394594540
C. 394594540
D. 26453343
试题编号:20240206-zlj-022
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:字典中,如果同一个键出现两次,则后一个值会被记住;print(dic['qq'])是输出键'qq'对应的值。故正确答案为C。
考生答案:D
考生得分:0
是否评分:已评分
评价描述:
9. 以下选项中,创建了只含有1个元素的元组的是?( )
A. t=(2025,)
B. t=(2025)
C. t={2025}
D. t=[2025]
试题编号:20240207-lxq-011
试题类型:单选题
标准答案:A
试题难度:一般
试题解析:
在python中,元组的创建可使用小括号()。当元组中只有一个元素时,元素后面必须添加一个逗号,否则创建的不是元组。
考生答案:A
考生得分:2
是否评分:已评分
评价描述:
10. tup1=('物理','化学','政治')
tup1[2]='生物'
print(tup1)
以上程序运行的结果是?( )
A. ('物理','化学','政治','生物')
B. ('物理','化学','生物')
C. 终端区会报错
D. ('物理','生物','政治')
试题编号:20240207-lxq-012
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:
元组中的元素在创建时就固定了,不能改变。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
11. for i in (1,2,3,4,5,6,7,8,9,10):
if i==4:
continue
print(i,end=",")
以上程序运行的结果是?( )
A. 1,2,3,4,5,6,7,8,9,10
B. 1,2,3,5,6,7,8,9,10
C. 1,2,3
D. 1,2,3,5,6,7,8,9,10,
试题编号:20240207-lxq-030
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:
for循环可以遍历任何序列的项目,如列表、元组。在循环语句中,continue语句是跳过当前循环,进入下一个循环。最终,通过print()按照小括号指定格式输出。
考生答案:B
考生得分:0
是否评分:已评分
评价描述:
12. 以下程序段运行的结果是?( )
ls=[23,19,30,87,42,58,99,14]
ls.insert(-2,6)
A. [23, 19, 6, 30, 87, 42, 58, 99, 14]
B. [23, 19, 30, 87, 42, 58, 6, 99, 14]
C. [23, 19, 30, 87, 42, 58, -2, 99, 14]
D. [23, 19, 30, 87, 42, 58, 99, 6, 14]
试题编号:20240211-dzj-006
试题类型:单选题
标准答案:B
试题难度:一般
试题解析:ls.insert(-2,6)第一个参数-2(倒数第二个)表示待插入元素的索引,第二个参数6表示待插入元素。
考生答案:D
考生得分:0
是否评分:已评分
评价描述:
13. 小明在数学课上学习了如何计算长方形的面积。现在,他有一个长为6厘米,宽为4厘米的长方形。如果他用Python来表示这个长方形的长和宽,并且想要保证这些数据不能被修改,下面哪种数据类型最符合该要求:一旦确立不能被修改?( )
A. 列表
B. 元组
C. 字典
D. 除了元组外都符合
试题编号:20240213-tt-015
试题类型:单选题
标准答案:B
试题难度:一般
试题解析:元组具有不可修改的性质。
考生答案:B
考生得分:2
是否评分:已评分
评价描述:
14. 小明和朋友们玩一个猜谜语的游戏,每人轮流出一个谜语,直到有人猜对为止。如果这个场景是在Python编程中,下面哪个函数或者命令可以实现有人猜对时直接结束退出循环,应该怎么做?( )
A. 使用if语句检查答案是否正确
B. 使用while循环让每个人轮流出题
C. 使用break语句在猜对时结束游戏
D. 使用continue语句让下一个人出题
试题编号:20240213-tt-028
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:在猜谜语的游戏中,一旦有人猜对,游戏就应该结束。对应Python编程环境就是满足条件退出当前循环,可以通过在猜对时使用break语句来实现。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
15. 已知列表cities = ['beijing', 'shanghai', 'guangzhou', 'shenzhen'],以下哪个命令可以删除最后一个列表元素'shenzhen'?( )
A. cities.del()
B. cities.pop()
C. cities.remove()
D. cities.pop(4)
试题编号:20240214-db-001
试题类型:单选题
标准答案:B
试题难度:较难
试题解析:该列表中最后一个元素的索引是3,故选项A的del方法需传入参数索引3,选项D的pop方法需将参数值索引4改为3;选项C的remove方法需传入参数值shenzhen;因此,选项A、C、D均错误;pop()方法无参数时默认删除最后一个元素,故本题正确答案为选项B。
考生答案:C
考生得分:0
是否评分:已评分
评价描述:
16. 已知列表list = ['d','r','a','g','o','n'],执行一次命令list.append('s')后,print(list)的输出结果是?( )
A. ['d','r','a','g','o','n']
B. ['s','d','r','a','g','o','n']
C. [ ]
D. ['d','r','a','g','o','n','s']
试题编号:20240214-db-005
试题类型:单选题
标准答案:D
试题难度:容易
试题解析:list.append('s')函数的作用是将元素’s’添加到列表list的末尾,故本题答案为选项D。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
17. 执行语句print("这{1}箱橙子的重量为{0}公斤。".format(5,3)),得到的输出结果是?( )
A. 这3箱橙子的重量为5公斤
B. 这5箱橙子的重量为3公斤
C. 这{3}箱橙子的重量为{5.00}公斤
D. 这3箱橙子的重量为{3.0}公斤
试题编号:20240214-db-018
试题类型:单选题
标准答案:A
试题难度:一般
试题解析:字符串的format()方法格式化输出时,字符串中的槽{}的默认顺序是0、1、2、…, format()参数的顺序也是0、1、2、…,字符串中槽中的数字序号可以改变参数的顺序,本题中槽{1}处对应的参数是3,{0}对应的参数是5,故本题正确答案为选项A。
考生答案:B
考生得分:0
是否评分:已评分
评价描述:
18. 关于字典的描述,下列选项中说法错误的是?( )
A. 字典是一种不可变的复合数据类型
B. 字典中的元素由键值对组成,键值对中键和值由冒号分隔
C. 字典中所有的键值对由{}括起来
D. 字典中的键值对之间用逗号分隔
试题编号:20240218-sbb-0021
试题类型:单选题
标准答案:A
试题难度:一般
试题解析:字典是一种可变的复合数据类型。所以本题正确答案为A。
考生答案:A
考生得分:2
是否评分:已评分
评价描述:
19. 王老师将学生成绩存入字典score中,score = {'语文': 90, '数学': 99, '英语': 99},则执行print((score['语文']+score['数学']+score['英语']) // 3),输出结果为?( )
A. 96.0
B. 96
C. 1.0
D. 1
试题编号:20240218-sbb-0022
试题类型:单选题
标准答案:B
试题难度:较难
试题解析:本题是计算三个科目的整数平均分,通过字典中的键可以访问值,即90+99+99的和整除3,结果为96。所以本题正确答案为B。
考生答案:A
考生得分:0
是否评分:已评分
评价描述:
20. 学校要举办运动会,列表 list1 = ["短跑", "篮球", "跳远", "足球", "跳绳"] 中保存了可以参加的项目,小明想报名参加足球,下面哪一项可以打印出足球?( )
A. print( list1[0] )
B. print( list1[2] )
C. print( list1[3] )
D. print( list1[4] )
试题编号:20240218-zw-003
试题类型:单选题
标准答案:C
试题难度:容易
试题解析:列表的索引是从0开始的。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
21. 小红是一名爱好广泛的小学生,为了方便记录,她将自己三个爱好按喜欢程度保存在列表list1中,list1 = ["舞蹈", "画画", "陶艺"],最近她迷上了编程,想把第一爱好舞蹈修改为编程,下面是她写的程序,请你选出能实现此功能的程序?( )
A. list1[1] = "编程"
B. list1[2] = "编程"
C. list1[3] = "编程"
D. list1[0] = "编程"
试题编号:20240218-zw-005
试题类型:单选题
标准答案:D
试题难度:容易
试题解析:要修改的列表元素,下标为0。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
22. 你的生日马上就要到了,为此你准备办一个生日聚会。你列出了想要邀请的好友名单,并保存在列表中,list_name = ['黄梓熙', '江伊洛', '徐彤彤', '吴雨萱', '罗兰妮', '李雪婷', '李婉茹', '王嘉怡', '李璐瑶'],妈妈为你准备生日蛋糕,需要统计你邀请的总人数,下列哪一项可以实现此功能?( )
A. changdu(list_name)
B. length(list_name)
C. len(list_name)
D. size(list_name)
试题编号:20240218-zw-008
试题类型:单选题
标准答案:C
试题难度:容易
试题解析:len()命令可以求列表的长度。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
23. 小明班里有40名同学,老师需要按照从小到大顺序打印出每名同学的编号,他使用学过的range()函数编程完成此任务,请问下面小明编写的哪一个程序可以实现此功能?( )
A. for value in range(1, 39):
print(value)
B. for value in range(1, 40):
print(value)
C. for value in range(1, 41):
print(value)
D. for value in range(1, 42):
print(value)
试题编号:20240218-zw-010
试题类型:单选题
标准答案:C
试题难度:容易
试题解析:range()命令中的第二个参赛表示的是结束的整数,但是不包括该整数,因为题目中有40名同学,而且开始是从1开始,那么最后一个数字应该是40.所以选C。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
24. 下面哪一个程序可以实现:使用for循环打印出3-30内能被3整除的所有数?( )
A. for i in range(1,30,3):
print(i)
B. for i in range(1,30):
print(i)
C. for i in range(3,30):
print(i)
D. for i in range(3,31,3):
print(i)
试题编号:20240218-zw-027
试题类型:单选题
标准答案:D
试题难度:困难
试题解析:range语句三个参数分别表示:起始位置、结束位置(不含该整数)、步长;根据题意,选D符合要求
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
25. 下列关于字符串(string)的说法,错误的是?( )
A. 字符串(string)就是一系列字符,我们可以使用引号( ' 或 " )来创建字符串
B. 三引号(""")允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符
C. 使用count(str)方法,可以统计字符串里某个字符出现的次数
D. 使用len(string)方法,可以转换字符串中所有大写字符为小写
试题编号:20240219-zw-017
试题类型:单选题
标准答案:D
试题难度:容易
试题解析:考察字符串内建函数,len(string) 返回字符串长度。
考生答案:A
考生得分:0
是否评分:已评分
评价描述:
二、判断题(共10题,共20分)
26. 在循环结构中,循环体只要开头和结尾缩进就可以,其他地方不需要缩进。( )
正确 错误
试题编号:20240129-wqj-027
试题类型:判断题
标准答案:错误
试题难度:一般
试题解析:循环结构中的循环体必须都要缩进。
考生答案:错误
考生得分:2
是否评分:已评分
评价描述:
27. 执行如下代码的运行结果是 CHNA.( )
for c in "CHINA" :
if c == "I" :
continue
print(c, end="")
正确 错误
试题编号:20240129-wqj-028
试题类型:判断题
标准答案:正确
试题难度:较难
试题解析:continue结束当次循环,继续执行后续次数循环。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
28. 列表的数据项不需要是相同的数据类型,可以有整数、浮点数、字符串等,甚至可以是列表、元组和字典,各个元素之间使用分号进行分隔。( )
正确 错误
试题编号:20240207-lxq-010
试题类型:判断题
标准答案:错误
试题难度:容易
试题解析:
列表的数据元素之间之间使用逗号分隔。
考生答案:错误
考生得分:2
是否评分:已评分
评价描述:
29. st='悠悠绿水傍林偎,日落观山四望回',如果想打印st的反序字符串:"回望四山观落日,偎林傍水绿悠悠",可以使用语句print(st[::-1])。( )
正确 错误
试题编号:20240211-dzj-021
试题类型:判断题
标准答案:正确
试题难度:容易
试题解析:列表中[::-1]代表的是从后往前进行步长为-1的切片生成新的列表,实际上就是将原来的文本进行反转。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
30. 小明在编写一个游戏程序,每一个关卡为一个独立的无限循环,当玩家的分数达到某个特定值时,游戏会结束当前关卡进入下一关,为完成此功能,小明使用了continue语句来跳过当前关卡,直接进入下一关。小明对Python语句的使用是正确的。( )
正确 错误
试题编号:20240213-tt-034
试题类型:判断题
标准答案:错误
试题难度:一般
试题解析:错误。在小明的游戏程序中,每个关卡为一个独立的无限循环,continue语句的作用是跳过当前关卡结束后的一些额外处理(比如显示得分、播放动画等),再次进入本关的开始。continue并不会结束整个循环结构(即当前关卡),而是跳过当前迭代中continue语句之后的代码,回到循环的开始处继续下一次迭代(即再次进入本关)。正确的用法应该是分数达到特定值时使用break语句。
考生答案:正确
考生得分:0
是否评分:已评分
评价描述:
31. while语句和for语句的循环条件后都必须输入冒号,需要循环执行的语句必须有缩进。( )
正确 错误
试题编号:20240214-db-034
试题类型:判断题
标准答案:正确
试题难度:容易
试题解析:在python程序中,while和for语句循环条件后的冒号用于表示之前的语句是循环判断语句,缩进是为了区分循环体内的语句,这会使得程序代码更有层次和结构感。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
32. 当创建的元组中只有一个元素时,需要在元素的后面增加逗号。( )
正确 错误
试题编号:20240218-sbb-0015
试题类型:判断题
标准答案:正确
试题难度:容易
试题解析:当创建的元组中只有一个元素时,需要在元素的后面增加逗号。如果不加逗号,它就不是元组类型。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
33. 有字典price = {'牛奶': '5元', '面包': '6元'},要想将面包的价格改为8元,应该使用price{'面包'} = '8元'。( )
正确 错误
试题编号:20240218-sbb-0025
试题类型:判断题
标准答案:错误
试题难度:一般
试题解析:要想将面包的价格改为8元,应该使用price['面包'] = '8元'。
考生答案:错误
考生得分:2
是否评分:已评分
评价描述:
34. 元组(tuple)与列表(list)类似,都使用方括号定义,不同点是元组一旦定义,在程序生命周期内内容不可被修改。( )
正确 错误
试题编号:20240218-zw-011
试题类型:判断题
标准答案:错误
试题难度:容易
试题解析:此题考查元组的概念、特点,以及元组定义的语法,元组定义使用圆括号和逗号,区别于列表定义使用方括号和逗号。
考生答案:错误
考生得分:2
是否评分:已评分
评价描述:
35. 对 str = "A+B+C",执行 str.split("+") 后的结果是['A'+'B'+'C']。( )
正确 错误
试题编号:20240129-wqj-014
试题类型:判断题
标准答案:错误
试题难度:一般
试题解析:字符串.split()方法的作用是返回一个列表,生成列表的元素是由该方法的参数分隔而成的,列表的元素之间用“,”分隔。
考生答案:正确
考生得分:0
是否评分:已评分
三、编程题(共2题,共30分)
36. 输出字符串中部分字符
编写一段能够输出原字符串中某个字符(如果是多次出现的字符,则为第一次)出现前所有字符的代码。字符输出的方式不限,可以一个一个输出,也可以一起输出;可以一行一个输出,也可以输出在一行,但是必须是指定字符前面的所有字符都要有(包括空格和标点符号)。
要求:
(1)程序运行开始后,用户通过键盘输入截止的单个字符(格式为字符串),提示信息为“请输入截止字符:”;
(2)必须用循环结构;
(3)如果未遇到输入的截止字符,则直接输出原字符串所有内容;
(4)如果遇到输入的截止字符,则终止循环,结束程序;
(5)原字符串需要在程序中明确,为” Reading a good book, like and many noble people talk”,程序中直接引用,无需用户通过键盘输入。
(6)对于多次出现的字符,只需要输出第一次出现截止字符之前的字符;如:输入的截止字符为o,需要输出的字符中必须包含”Reading a g“(含空格)才为正确。
示例:
程序运行后提醒用户输入截止字符;从原字符串的第1个位置起,如果不是刚才输入的截止字符,则输出原字符串中的字符,如果遇到了输入的截止字符,则终止循环,结束程序。
请输入截止字符:a
R
e
友情提示:
(1)由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。
(2)用户输入语句会在控制台自动输出,不影响评测结果,如下图所示:

试题编号:202503-P2-36
试题类型:编程题
标准答案:
参考程序:
str="Reading a good book, like and many noble people talk"
c=input("请输入截止字符:")
for i in str:
if i==c:
break
else:
print(i)
试题难度:一般
试题解析:
评分标准:
(1)用input()函数输入截止字符;(2分)
(2)有循环语句(正确使用for或者while);(2分)
(3)使用了if双分支条件语句或两次单分支if进行判断;(2分,两个分支各1分)
(4)使用了break语句;(2分)
(5)未到截止字符前,输出对应字符;(2分)
(6)if条件语句中的条件正确;(2分)
(7)程序运行正常,输出符合题意。(3分)
说明: input()默认读入的为字符串;从原字符串的第1个位置起,到输入的截止字符前为止,故循环枚举原字符串中的每一个字符,需要用if条件语句进行判断其和截止字符是否相同,如果不相同,则输出,继续枚举原字符串的下一个位置;如果if条件语句判断其和截止字符相同,则需执行break语句,中止循环并结束程序。
展示地址:点击浏览
考生答案:(此题已作答)
考生得分:10
37. 学校老师统计了班级学生的成绩单如下,成绩是按照学号从1号到20号:
91,89,92,87,94,97,100,98,92,94,91,90,93,96,98,93,89,95,94,99
请你编写一个成绩查询程序,输入学生学号,打印输出该学生的成绩。
要求:
(1)如果输入的学号在1到20之间(包含1和20),则输出“该学生的成绩为**。”
(2)如果输入的学号不在1到20之间,则输出“该学号不存在!”
友情提示:
由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。
试题编号:202503-P2-37
试题类型:编程题
标准答案:
参考程序:
cj = [91,89,92,87,94,97,100,98,92,94,91,90,93,96,98,93,89,95,94,99]
num = int(input("请输入学生学号:"))
if num >0 and num<21:
print("该学生的成绩为:",cj[num-1] )
else:
print("该学号不存在!" )
提示:以上程序仅供参考,只要程序符合要求均可。
试题难度:一般
试题解析:
评分标准:
(1)建立了列表或者元组、字典等,用于保存成绩;(2分)
(2)有输入语句,有提示语;(各1分,共2分)
(3)有数据类型转换,并且转换正确;(2分)
(4)有条件语句;(每个分支1分,共2分)
(5)有输出语句,并且提示语句正确;(每个提示语句1分,共计2分)
(6)学号判断正确;(2分)
(7)程序运行正常,符合题意。(3分)
展示地址:点击浏览
考生答案:(此题已作答)
考生得分:5
是否评分:已评分
更多推荐



所有评论(0)