2023 年 5 月电子学会 Python 五级考试真题(含答案和解析)
分数:100 题数:38
一、单选题(共 25 题,共 50 分)
1. 有列表 L=['UK','china','lili',"张三"],print(L[-2])的结果是?( C
)
A. UK
B. 'lili','张三'
C. lili
D. 'UK','china','lili'
答案解析: 列表元素定位。
2. 倒计时在日常生活中有广泛的应用。Python 使用 range 可以实现倒序数。下
面可以正确倒序输出 15 以内正整数的语句是?( D )
A. print(list(range(15, -1, 1)))
B. print(list(range(-1, 15, 1)))
C. print(list(range(15, 1, -1)))
D. print(list(range(15, 0, -1)))
答案解析: range(start, stop[, step])的高阶应用。
3. 已知一个字符串 s="iloveyou"。通过操作该字符串构造一个新的列表
li=['i', 'oveyou']。以下哪个选项不能构造新列表 li?( A )
A. li = s.split("l",0)
B. li = s.split("l",1)
C. li = s.split("l",2)
D. li = s.split("l",3)
答案解析: 本题主要考察 split()函数的用法。拆分字符串。通过指定分隔符
对字符串进行切片,并返回分割后的字符串列表(list)。 其语法规则为:
str.split(str="",num=string.count(str)) str:表示为分隔符,默认为空格,
但是不能为空('')。若字符串中没有分隔符,则把整个字符串作为列表的一个
元素 num:表示分割次数。如果存在参数 num,则仅分隔成 num+1 个子字符串,
并且每一个子字符串可以赋给新的变量。
4. 有如下程序,请问此程序的执行结果是?( D )
tup1 = (12,'bc',34,'cd')
tup1[1] = 23
print(tup1[3])
A. cd
B. 12
C. 34
D. 程序出现错误
答案解析: 元组的元素不可修改。
5. 有如下 python 程序段,下列说法错误的是?( D )
s={1,2,3,4,5}
print(s)
s.clear()
print(s)
A. “{1,2}+{5,6}”是错误的语句
B. s 数据类型是集合
C. 此程序段的作用是输出原始集合 s 和移除数据之后的集合 s
D. s 数据类型是字典
答案解析: 集合的创建与相关操作。
6. 现有校园图书馆最近一周(周一至周日)借书信息采集数据列表: borrow
= [502, 387, 612, 545, 702, 855, 962] ,当前需要打印输出周一至周五的
数据信息,正确的操作是?( C )
A. print(borrow[1:n-2])
B. print(borrow[0:n-1])
C. print(borrow[:-2])
D. print(borrow[::-2])
答案解析: 列表的切片操作,本题正确操作为 print(borrow[:-2])。
7. 科技小组实践作品用到的传感器列表 sensor = ['shengyin',
'chaoshengbo', 'guangmin', 'huidu'] , 当前需要增加列表元素'hongwai',
正确的操作是?( B )
A. sensor.insert('hongwai')
B. sensor.append('hongwai')
C. inset sensor['hongwai']
D. append sensor['hongwai']
答案解析: Python append()函数用于在列表末尾添加新的对象。
8. Python 中字符串可以使用反 斜线 进行 转义 ,实现 某些难 以用字符表示的 效
果。 下面可以实现 水平制 表( 跳 到下一个 T AB 位 置 )的 转义 字符是?( C )
A. \ b
B. \ n
C. \ t
D. \ r
答案解析: 字符串的 转义 , \ t 可以实现 水平制 表( 跳 到下一个 T AB 位 置 )。
9. 现有字符串 S = " N o mountain is more high than one." ,现在需要计 算
并输出字符串中'o'在 S 出现的次数,正确的语句是?( D )
A. print( S . f ind('o',1))
B. print( S .inde x ('o'))
C. print( S .inde x ('o',0,len( S )))
D. print( S .count('o'))
答案解析: count 函数用于 统 计字符串的 某 个字符出现的次数。
10. 下列程序的 功 能是?( B )
shu=10000
result=[a f or a in range(1,shu+1) i f shu % a==0]
print(result)
A. 计 算 并输出 10000 以内的 质 数
B. 计 算 并输出 10000 的 约 数
C. 计 算 并输出 10000 的 倍 数
D. 计 算 并输出 1-10000 以内的整 10 数
答案解析: 列表 推导式 的语法格 式 如下: [表 达式 f or 迭代 变量 in 可 迭代 对
象 [i f 条件 表 达式 ] ]。
11. 运 行下列程序: list(range(2,9,2)) 输出的结果是?( B )
A. 2, 4, 6, 8
B. [2, 4, 6, 8]
C. [1, 3, 5, 7, 9]
D. 1, 3, 5, 7, 9
答案解析: 将 range() 产 生的数字 2,4,6,8 转换 为列表。
12. 下列 boo k s 是一个字典,有一个 f or 循环 如下:
f or in f o1,in f o2 in boo k s.items( ):
print(in f o2)
上述 in f o2 可以 得 到 什么 ?( B )
A. 键
B. 值
C. 键 - 值
D. 字典
答案解析: 字典 键/值 的 简 单应用,可以 得 到字典的 值 。
13. 集合 A 是 曾经 到 云南旅游 的 人 ,集合 B 是 曾经 到 海南旅游 的 人 ,如果现在
想 要 得 到 曾经 到 海南 但是不 曾 到过 云南旅游 的 人 ,可以使用 那 一 种 集合 功 能?
( D )
A. A & B
B. A | B
C. A - B
D. B - A
答案解析: 集合的 差 集 运算 ,返回一个新集合, 包括 在集合 B 中但不在集合 A
中的元素。
14. 求 1-100 之内能 被 7 整除,但是不能 被 3 整除的 所 有数,正确的列表 推导
式 是?( D )
A. print([ f or x in range(0, 100) i f x % 7 == 0 and x % 3 ! = 0])
B. print([ f or x in range(1, 101) i f x % 7 == 0 and x % 3 ! = 0])
C. print([ x f or x in range(0, 100) i f x % 3 == 0 and x % 7 ! = 0])
D. print([ x f or x in range(1, 101) i f x % 7 == 0 and x % 3 ! = 0])
答案解析: 列表 推导式 的语法格 式 如下: [表 达式 f or 迭代 变量 in 可 迭代 对
象 [i f 条件 表 达式 ] ]。
15. 利 用 time 模块 ,下列可以输出当前日 期 的正确的语句是?( B )
A. print(time.ctime(' % y % m % d'))
B. print(time.str f time(' % y % m % d'))
C. print(time.nowdate(' % y % m % d'))
D. print(time.local(' % y % m % d'))
答案解析: Python time str f time() 函数用于格 式化 时 间 ,返回以可 读 字符串
表示的当 地 时 间 , % y 两 位数的年 份 表示(00-99) % m 月 份 (01-12) % d 月内中
的一 天 (0-31)。
16. Python 中可以实现 随机 生成 1-100 之 间浮点 数的语句是?( A )
A. print(random.uni f orm(1,100))
B. print(random.randint(1,100))
C. print(random.sample(1,100))
D. print(random.shu ff le(1,100))
答案解析: Python random.uni f orm(a, b),用于生成一个指定 范围 内的 随机浮
点 数, 两 个参数其中一个是 上限 ,一个是下 限 。
17. 已知有列表 lst = [2,3,4,5,6],下面操作可以 求 出最小 值 的是?( B )
A. sum(lst)
B. min(lst)
C. ma x (lst)
D. MIN (lst)
答案解析: 列表的操作。
18. 已知有元组 tup1=('a','b'),tup2=(1,2,3),tup3=('china','UK'),执
行 print(tup1+tup2+tup3)后输出是?( C )
A. ['a', 'b', 1, 2, 3, 'china', 'UK']
B. (('a','b'),(1,2,3),('china','UK'))
C. ('a', 'b', 1, 2, 3, 'china', 'UK')
D. 'a', 'b', 1, 2, 3, 'china', 'UK'
答案解析: 元组的操作。
19. str1=" 你 是 大英雄 ",执行下列哪个选项可以输出" 雄英大 是 你 "?( B )
A. print((str1(0,0))
B. print(str1[::-1])
C. print(str1[0])
D. print(str1[0:5])
答案解析: 翻转 字符串。