青少年软件编程(Python)等级考试试卷(五级)
青少年软件编程(Python)等级考试试卷(五级)
分数:100 题数:38
一、单选题(共25题,共50分)
1. 以下哪个选项不是Python中的推导式?( )
A. 列表推导式
B. 字典推导式
C. 集合推导式
D. 元组推导式
试题编号:20240117-ph-027
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:Python中的推导式包括列表推导式、字典推导式和集合推导式,但不包括元组推导式。
考生答案:C
考生得分:0
是否评分:已评分
评价描述:
2. 以下Python代码的返回结果是?( )
[x**2 for x in range(5)]
A. [0, 1, 4, 9, 16]
B. [1, 4, 9, 16, 25]
C. [0, 1, 4, 9, 16, 25]
D. [1, 4, 9, 16, 25, 36]
试题编号:20240117-ph-028
试题类型:单选题
标准答案:A
试题难度:较难
试题解析:这是一个列表推导式,它遍历0到4的范围,计算每个数字的平方,并将结果存储在一个新的列表中。所以答案是[0, 1, 4, 9, 16]。
考生答案:A
考生得分:2
是否评分:已评分
评价描述:
3. 已知列表list1=["张三","李四","王五","赵六"],能输出['张三', '王五']的是?( )
A. print(list1[0:2])
B. print(list1[0::2])
C. print(list1[0,2])
D. print(list1[1:3])
试题编号:20240118-lbj-001
试题类型:单选题
标准答案:B
试题难度:一般
试题解析:根据题意可知,输出间隔为2,所以选择B。
考生答案:B
考生得分:2
是否评分:已评分
评价描述:
4. 下列Python代码的输出为?( )
g=[1,2,3,4,5]
a=g.pop(1)
print(g[-a])
A. 2
B. 5
C. 3
D. 4
试题编号:20240118-lbj-002
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:a=g.pop(1) ,a=2
g[-a]=4
考察了pop和列表元素定位。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
5. 下面Python程序运行后,结果?( )
list1=['a',1,'c',2]
del list1[1:3]
print(list1)
A. ['c',2]
B. ['a',1]
C. ['a',2]
D. [1,'c']
试题编号:20240118-lbj-003
试题类型:单选题
标准答案:C
试题难度:容易
试题解析:list1[1:3]的结果为[1,'c'] ,删除后为list1=['a',2] 故选C。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
6. 有如下Python程序段,执行该程序段后,输出显示的内容是?( )
list1=[]
for i in range(15):
if i%3==0:
continue
elif i%5==0:
break
list1.append(i)
print(list1)
A. [0,1,2]
B. [1,2,4]
C. [0,1,2,4]
D. [1,2,4,5]
试题编号:20240125-lcy-004
试题类型:单选题
标准答案:B
试题难度:较难
试题解析:Python中的break用于退出本层循环,continue语句用于退出本次循环,循环不会终止,会继续进行下一次循环。因此在0~14的序列中,若是3的倍数,跳过,继续下一次循环,若是5的倍数,结束循环,其余数字添加在list1中。
考生答案:C
考生得分:0
是否评分:已评分
评价描述:
7. 元组变量name=('Betty','Linda','Whitney','Lily'),则name[::-1]的运行结果是?( )
A. ('Betty','Linda','Whitney','Lily')
B. ('Lily', 'Whitney', 'Linda', 'Betty')
C. 运行出错
D. ( "Lily")
试题编号:20240125-lcy-006
试题类型:单选题
标准答案:B
试题难度:容易
试题解析:list[start:end:step],start表示起始位置,end表示结束位置,step表示步长。name[::-1]中, -1表示从右侧开始取步长是1, 因此,结果是反向。
考生答案:B
考生得分:2
是否评分:已评分
评价描述:
8. 有如下Python程序,请问此程序的执行结果是?( )
tup1 = ('Google', 'Firefox','UC','QQ','360')
tup1[1] ="火狐"
print(tup1[1])
A. Firefox
B. 火狐
C. Google
D. 程序出现错误
试题编号:20240125-lcy-007
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:元组的元素不可修改。当程序试图修改一个元组中的元素时,会引发错误"TypeError: 'tuple' object does not support item assignment"。
考生答案:B
考生得分:0
是否评分:已评分
评价描述:
9. 学校组织了一次阅读打卡活动,每日读书时长被记录在列表 reading_times = [30, 45, 60, 35, 40, 50] 中,同时有对应的参与学生姓名列表 names = ['小明', '小红', '小亮', ...]。若想找出所有读书时长大于等于45分钟的学生姓名并存入新的列表,以下哪个表达式是正确的?( )
A. long_readers = [names[i] for i in reading_times if i >= 45]
B. long_readers = [nreading_times[i] for i in range(len(names)) if reading_times[i] >= 45]
C. long_readers = [names[i] for i in range(len(reading_times)) if reading_times[i] >= 45]
D. long_readers = [names[i] for i in names if reading_times[i] >= 45]
试题编号:20240129-zpf-028
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:正确答案C。选项C正确地使用了len(reading_times)来确保遍历的索引范围与reading_times列表长度相同,并且使用了条件表达式if reading_times[i] >= 45来筛选读书时长大于等于45分钟的学生。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
10. 下列关于字符串的说法中,错误的是?( )
A. 字符串支持成员关系操作符(in)
B. 字符串是不可变序列,但是字符串有replace()方法,可以改变部分字符
C. 字符串是任意字符的无序组合
D. 字符串支持双向索引切片操作
试题编号:20240205-cqf-009
试题类型:单选题
标准答案:B
试题难度:一般
试题解析:字符串是不可变序列。
考生答案:C
考生得分:0
是否评分:已评分
评价描述:
11. 下列选项中,输出结果是大写字母A的是?( )
A. print('\101')
B. print('\102')
C. print('\x47')
D. print('\x48')
试题编号:20240205-cqf-010
试题类型:单选题
标准答案:A
试题难度:一般
试题解析:print('\101') #A 3位八进制数对应的字符
print('\102') #B 3位八进制数对应的字符
print('\x47') #G 2位十六进制数对应的字符
print('\x48') #H 2位十六进制数对应的字符
考生答案:A
考生得分:2
是否评分:已评分
评价描述:
12. 要想输出结果保留2位小数,下列选项中正确的是?( )
A. print('六年级一班的数学平均分为{0:2f}'.format(4321/50))
B. print('六年级一班的数学平均分为{0.:2f}'.format(4321/50))
C. print('六年级一班的数学平均分为{0:.f2}'.format(4321/50))
D. print('六年级一班的数学平均分为{0:.2f}'.format(4321/50))
试题编号:20240205-cqf-011
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:print('六年级一班的数学平均分为{0:2f}'.format(4321/50))输出结果为:六年级一班的数学平均分为86.420000
print('六年级一班的数学平均分为{0.:2f}'.format(4321/50)) 报错
print('六年级一班的数学平均分为{0:.f2}'.format(4321/50)) 报错
print('六年级一班的数学平均分为{0:.2f}'.format(4321/50))输出结果为:六年级一班的数学平均分为86.42
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
13. 运行下列Python代码,输出结果是?( )
s='good job'
print(s.capitalize())
print(s.title())
A. Good Job
Good job
B. Good Job
Good Job
C. Good job
Good Job
D. Good job
Good job
试题编号:20240205-cqf-012
试题类型:单选题
标准答案:C
试题难度:较难
试题解析:字符串的Capitalize()方法是将字符串的首字母变为大写,title()方法是将每一个单词的首字母变为大写。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
14. 下列选项中的程序在运行时会引发异常的是?( )
A. a=4**0.5
print(a)
B. import math
b=math.sqrt(4)
print(b)
C. c=(-4)**0.5
print(c)
D. import math
d=math.sqrt(-4)
print(d)
试题编号:20240205-cqf-025
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:math.sqrt(n)函数返回正数n的平方根,要求n大于等于0。如果n小于0,则会抛出异常。
考生答案:C
考生得分:0
是否评分:已评分
评价描述:
15. jieba是常用的Python扩展库。以下函数中,不是jieba库函数的是?( )
A. lcut()
B. cut()
C. add_word( )
D. find( )
试题编号:20240205-cqf-027
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:cut()、lcut()是分词函数,add_word()是向分词词典中增加新词。jieba库中没有find()函数。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
16. wordcloud是一个优秀的Python第三方扩展库,它可以将一段文本变成一张词云图片,方便人们阅读理解。当我们使用wordcloud创建一个WordCloud对象时,参数mask的作用是?( )
A. 指定图片的大小
B. 指定图片的宽度
C. 指定词云形状
D. 指定词云的背景颜色
试题编号:20240205-cqf-028
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:在创建WordCloud对象时,参数mask的用来指定词云形状。如果不指定,默认为长方形。
考生答案:D
考生得分:0
是否评分:已评分
评价描述:
17. time库是常用的Python标准库,我们可以方便地获取与时间相关的对象。下面的代码是一种简单方便的获取时间的方法。运行该程序后的输出结果可能是?( )
import time
localtime=time.asctime(time.localtime(time.time()))
print('当前本地时间为:{}'.format(localtime))
A. 当前本地时间为:Wed Feb 7 13:19:21 2024
B. 当前本地时间为:Feb 7 13:19:21 2024
C. 当前本地时间为:Wed Feb 7 13:19:21
D. 当前本地时间为:Feb 7 13:19:21
试题编号:20240205-cqf-029
试题类型:单选题
标准答案:A
试题难度:较难
试题解析:time.asctime()时间模块的方法用于转换元组,其格式为:Day Mon Date Hour:Min:Sec Year
考生答案:A
考生得分:2
是否评分:已评分
评价描述:
18. 如果要创建一个列表a=[10, 9, 8, 7, 6, 5, 4, 3, 2, 1],可以使用哪个选项里的代码?( )
A. a=list(range(10,0,-1))
B. a=list(range(11,0,-1))
C. a=list(range(0,10,-1))
D. a=list(range(10,1,-1))
试题编号:20240205-cqf-030
试题类型:单选题
标准答案:A
试题难度:一般
试题解析:range(10,0,-1)是左闭右开区间[10,0),从10开始取值,每次减去1,一直取到1,无法取到0。所以产生的列表符合条件。
考生答案:B
考生得分:0
是否评分:已评分
评价描述:
19. 运行下列Python代码,输出结果是?( )
a=range(10)
print(a[5])
A. 4
B. 5
C. 6
D. 报错
试题编号:20240205-cqf-031
试题类型:单选题
标准答案:B
试题难度:一般
试题解析:range()生成的对象是不可变的序列类型,可以用索引访问读取数据。
考生答案:B
考生得分:2
是否评分:已评分
评价描述:
20. 如果想输出结果为"科目三",则在①处应填入?( )
s='没有科目三的晚会是不完美的'
n=''
for i in range( ① ):
n=n+s[i]
print(n)
A. 2,6
B. 1,5
C. 2,5
D. 2,6,2
试题编号:20240205-cqf-032
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:“科目三”对应的索引是2,3,4,range(start,stop)是从start开始取值,可以取到stop-1。所以range(2,5)从索引2开始连续取三个值,索引5的值取不到。
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
21. 如果运行下列代码的输出结果是:[1,2,3,4,5],则在①处应填入?( )
a=[1,0,2,0,3,0,4,0,5,0]
b=[]
for i in range( ① ):
b.append(a[i])
print(b)
A. 0,10,2
B. 0,10,1
C. 0,11,2
D. 0,11
试题编号:20240205-cqf-033
试题类型:单选题
标准答案:A
试题难度:一般
试题解析:range(0,10,2)可以取到的值为0,2,4,6,8,这些正好是列表a中不为0的元素的索引。
range(0,11,2)可以取到的值为0,2,4,6,8,10,超出了列表的索引范围,程序会抛出异常。
考生答案:A
考生得分:2
是否评分:已评分
评价描述:
22. 执行该程序段后, 下列语句能正确输出单词"apple"出现次数的是?( )
words = ["apple", "pear", "apple", "apple", "keep", "day"]
dic = {}
for i in words:
if i in dic:
dic[i] = dic[i] + 1
else:
dic[i] = 1
A. print(dic[0])
B. print(dic{0})
C. print(dic["apple"])
D. print(dic{"apple"})
试题编号:20240212-wp-015
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:本题考查字典元素的访问,字典中通过指定的键,访问该键对应的值,选C
考生答案:C
考生得分:2
是否评分:已评分
评价描述:
23. Python字典中update()方法用于更新字典中的键/值。有字典dic={"数学":89 ,"语文":78,"英语":96},d={"物理":97,"语文":90,"信息技术":91,"地理":78}执行语句dic.update(d)后,dic的值为?( )
A. {"数学":89,"语文":90, "英语":96, "物理":97, "信息技术":91,"地理":78}
B. {"数学":89, "语文":78,"英语":96, "物理":97 ,"信息技术":91,"地理":78}
C. {"数学":89,"语文":78, "英语":96, "物理":97, "语文":90, "信息技术":91, "地理":78}
D. {"数学":89, "英语":96, "物理":97, "信息技术":91 ,"地理":78}
试题编号:20240212-wp-021
试题类型:单选题
标准答案:A
试题难度:一般
试题解析:dict.update([other])
其中,dict是要更新的字典,other可以是一个字典,也可以是一个键值对元组序列。update()函数会将other中的键值对添加到dict中,如果字典中已存在该键,则会用other中对应的值覆盖字典中原有的值。
考生答案:A
考生得分:2
是否评分:已评分
评价描述:
24. 执行以下Python语句,得到的结果是?( )
s = {1, 2, 3,4}
s.update({4,5,6})
print(s)
A. {1,2,3,4,4,5,6}
B. {4,5,6}
C. {1,2,3,4,5,6}
D. {1,2,3}
试题编号:20240212-wp-022
试题类型:单选题
标准答案:C
试题难度:容易
试题解析:s.update({4,5,6})将{4,5,6}追加给s,去重后得到{1,2,3,4,5,6}。
考生答案:A
考生得分:0
是否评分:已评分
评价描述:
25. 以下语句在运行时会出现错误的是?( )
A. s={1,'two',3,'four',(5,6,7)}
B. s={1,2,3,3,5,6}
C. s=set(range(1,7))
D. s = {1,2,['three', 'four' ],(5, 6)}
试题编号:20240212-wp-023
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:集合元素是不可变类型,所以可以使用数值、字符串、元组,而不能使用列表、字典、集合等可变类型数据。
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
二、判断题(共10题,共20分)
26. 判断下面的说法是否正确:在Python中,集合推导式和列表推导式的语法完全相同。( )
正确 错误
试题编号:20240117-ph-030
试题类型:判断题
标准答案:错误
试题难度:一般
试题解析:集合推导式和列表推导式在语法上是相似的,但集合推导式使用大括号 {...},而列表推导式使用方括号 [...]。
考生答案:错误
考生得分:2
是否评分:已评分
评价描述:
27. list(range(5))可以生成列表[0,1,2,3,4]。( )
正确 错误
试题编号:20240118-lbj-005
试题类型:判断题
标准答案:正确
试题难度:容易
试题解析:range(5)从0开始生成5个元素,故正确。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
28. 有元组tup = ('Google','Firefox','UC','QQ','360'),可以通过del tup删除元组tup。( )
正确 错误
试题编号:20240125-lcy-008
试题类型:判断题
标准答案:正确
试题难度:一般
试题解析:对于已经创建的元组,不再使用时,可以使用del语句将其删除。
考生答案:错误
考生得分:0
是否评分:已评分
评价描述:
- 运行下列Python代码不会报错。( )
s='good good study'
print(s.find('day'))
正确 错误
试题编号:20240205-cqf-013
试题类型:判断题
标准答案:正确
试题难度:一般
试题解析:字符串的find()方法查找目标值时,如果在指定字符串中找不到目标值,返回-1,不会抛出异常。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
30. Python兴趣小组共有36位同学,按1-36编号。现在想随机抽取一名同学的编号,可以用random.randrange(36)实现。( )
正确 错误
试题编号:20240205-cqf-026
试题类型:判断题
标准答案:错误
试题难度:一般
试题解析:random.randrange(36)抽取的是(0,36,1)范围内的随机数,它的范围是0-35,与同学们的编号1-36不同。
考生答案:错误
考生得分:2
是否评分:已评分
评价描述:
31. 列表[2.1,3.1,4.1,5.1]可以用list(range(2.1,6.1))来创建。( )
正确 错误
试题编号:20240205-cqf-034
试题类型:判断题
标准答案:错误
试题难度:较难
试题解析:range()的参数必须是整数,可以是负数,但不能是浮点数等其它类型。
考生答案:错误
考生得分:2
是否评分:已评分
评价描述:
32. 同一个字典中,字典的键不允许重复,值是可以重复的。( )
正确 错误
试题编号:20240212-wp-016
试题类型:判断题
标准答案:正确
试题难度:容易
试题解析:字典的键不允许重复,值是可以重复的。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
33. 如果原来的序列数据中存在重复元素,则在转化为集合时只留一个。( )
正确 错误
试题编号:20240212-wp-024
试题类型:判断题
标准答案:正确
试题难度:容易
试题解析:如果原来的数据中存在重复元素,则在转化为集合时只留一个。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
34. 关系运算符>、>=、<、<=作用于集合时,可比较集合中元素的大小关系。( )
正确 错误
试题编号:20240212-wp-025
试题类型:判断题
标准答案:错误
试题难度:容易
试题解析:关系运算符>、>=、<、<=作用于集合时,表示集合之间的包含关系,而不是比较集合中元素的大小关系。
考生答案:正确
考生得分:0
是否评分:已评分
评价描述:
35. 在Python中,字符串方法split()可以将一个字符串按照指定的分隔符拆分成多个子字符串,并返回一个列表。( )
正确 错误
试题编号:20240117-ph-014
试题类型:判断题
标准答案:正确
试题难度:较难
试题解析:在Python中,字符串方法split()用于将字符串按照指定的分隔符进行拆分,得到一个包含多个子字符串的列表。如果不指定分隔符,则默认使用空格作为分隔符。因此,该说法是正确的。使用split()方法可以方便地将一个字符串分割成多个部分,并进行进一步的处理。
考生答案:正确
考生得分:2
是否评分:已评分
评价描述:
三、编程题(共3题,共30分)
36. 共同的兴趣
小明正在开发一个社交网络应用程序,需要实现一个功能来帮助用户找到共同的兴趣爱好。用户可以输入自己的兴趣爱好,然后系统会将用户输入的兴趣爱好与其他用户的兴趣爱好进行比对,找出共同的兴趣爱好并统计数量展示给用户。请在下面程序空白处填上正确内容,以实现程序功能。
示例:
请输入用户A的兴趣爱好,用逗号分隔:阅读,旅行,游泳,瑜伽
请输入用户B的兴趣爱好,用逗号分隔:游泳,瑜伽,摄影,登山
共同的兴趣爱好: {'游泳', '瑜伽'}
共同兴趣爱好的数量: 2
所有兴趣爱好的总集合: {'瑜伽', '游泳', '登山', '摄影', '阅读', '旅行'}
hobbies_a = set(input("请输入用户A的兴趣爱好,用逗号分隔:"). ① )
hobbies_b = set(input("请输入用户B的兴趣爱好,用逗号分隔:"). ② )
common_hobbies = hobbies_a.intersection( ③ )#交集运算
common_hobbies_count = len(common_hobbies)
all_hobbies = hobbies_a.union(hobbies_b)
print("共同的兴趣爱好:", common_hobbies)
print("共同兴趣爱好的数量:", ④ )
print("所有兴趣爱好的总集合:", all_hobbies)
试题编号:202503-P5-36
试题类型:编程题
标准答案:
参考程序:
hobbies_a = set(input("请输入用户A的兴趣爱好,用逗号分隔:").split(','))
hobbies_b = set(input("请输入用户B的兴趣爱好,用逗号分隔:").split(','))
common_hobbies = hobbies_a.intersection(hobbies_b) #交集运算
common_hobbies_count = len(common_hobbies)
all_hobbies = hobbies_a.union(hobbies_b)
print("共同的兴趣爱好:", common_hobbies)
print("共同兴趣爱好的数量:", common_hobbies_count)
print("所有兴趣爱好的总集合:", all_hobbies)
试题难度:困难
试题解析:
评分标准:
(1)split(',') 或等效答案;(2分)
(2)split(',') 或等效答案;(2分)
(3)hobbies_b 或等效答案;(3分)
(4)common_hobbies_count 或等效答案。(3分)
展示地址:点击浏览
考生答案:(此题已作答)
考生得分:7
是否评分:已评分
评价描述:
37. 完全数
数学老师告诉小明,数字王国中有一组耀眼的明星,它们叫完全数。其特点是一个正整数等于除它之外其他所有除数之和,就称之为完全数。
例如:6除它之外的除数有1、2、3,并且1+2+3=6,所以它是完全数。数学老师让小明找出500以内的完全数。小明写下求500以下完全数的程序,但因为粗心遗漏了关键的代码,请根据上面需求补全程序代码。
for i in range(1,500):
str1=[]
for j in ① :
if i%j==0:
②
if ③ :
print(f'{i}是完全数')
试题编号:202503-P5-37
试题类型:编程题
标准答案:
参考程序:
for i in range(1,500):
str1=[]
for j in range(1,i):
if i%j==0:
str1.append(j)
if i==sum(str1):
print(f'{i}是完全数')
试题难度:一般
试题解析:
评分标准:
(1)range(1,i) 或等效答案;(3分)
(2)str1.append(j) 或等效答案;(3分)
(3)i==sum(str1) 或等效答案。(4分)
展示地址:点击浏览
考生答案:(此题已作答)
考生得分:0
是否评分:已评分
评价描述:
38. 字符串替换
小明在信息科技课上学习了word的基本操作后,了解到word中替换功能可以将文档中指定内容一次性全部替换成其他文本,于是试着在Python中编程实现相关功能,功能描述如下:
在字符串s中,查找指定的字符c1(可以是单个字符,也可以是多个字符的组合)并替换成其他字符c2。例如:输入s的值为:"A person in need is a person indeed!",输入c1的值为:person,输入c2的值为"friend",则显示的结果是"A friend in need is a friend indeed!"。实现上述功能的python代码如下:运行界面如图所示:
请在划线处填入适当的代码.
s=input("请输入文本字符串:")
c1=input("请输入要替换的字符:")
c2=input("请输入要替换成的新字符:")
n=len(c1)
s1=""
i=0
while i<len(s):
c= ①
if c==c1:
s1=s1+c2
i= ②
else:
s1= ③
④
print("替换后的结果:",s1)
试题编号:202503-P5-38
试题类型:编程题
标准答案:
参考程序:
s = input("请输入文本字符串:")
c1 = input("请输入要替换的字符:")
c2 = input("请输入要替换成的新字符:")
n = len(c1)
s1 = ""
i = 0
while i < len(s):
c =s[i:i+n]
if c == c1:
s1 = s1+c2
i = i+n
else:
s1 =s1+s[i]
i=i+1
print("替换后的结果:",s1)
试题难度:一般
试题解析:
评分标准:
(1)s[i:i+n] 或等效答案;(3分)
(2)i+n 或等效答案;(3分)
(3)s1+s[i] 或等效答案;(2分)
(4)i=i+1 或等效答案。(2分)
展示地址:点击浏览
考生答案:(此题已作答)
考生得分:4
是否评分:已评分
评价描述:
更多推荐



所有评论(0)