GESP_2026年06月_Python三级试卷

从PDF导入:GESP_2026年06月_Python三级试卷

Python 120分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选
学校组织同学们到未来农场参观,小明听讲解员介绍。在智能温室中,湿度传感器可以连续检测土壤的湿度,并将检测到的湿度数据实时发送给中央控制器。中央控制器根据这些数据
A. 处理器
B. 存储器
C. 输入设备
D. 输出设备
第2题 中级 2.0分 单选
小明同学去郊外农场参观回来后,在自己的电脑中安装了一个 3D 农场仿真模拟系统。因为他今年买的这台二手电脑有点老旧,3D 农场仿真模拟系统运行时经常弹出"系统内
A. 机械硬盘
B. 内存条
C. 图形显卡
D. 移动硬盘
第3题 中级 2.0分 单选
在 Python 中,-1 的 16 位补码用十六进制表示是?
A. 0xFFFF
B. 0x8001
C. 0x0001
D. 0xFFFE
第4题 中级 2.0分 单选
执行 print(bin(0o15)) 的输出结果是?
A. 0b1101
B. 0b1110
C. 0b1100
D. 0b1111
第5题 中级 2.0分 单选
下列哪个表达式可以将整数 x 的二进制表示中从右往左数第 5 位(最低位为第 0 位)强制设置为 1,而其他位保持不变?
A. x & (~(1 << 5))
B. x | (1 << 5)
C. x ^ (1 << 5)
D. x >> 5
第6题 中级 2.0分 单选
下面 Python 代码执行后,输出的结果是?

lst = [1, 2, 3, 4, 5]
print(lst.pop(-2))
print(lst)

A. 5 和 [1, 2, 3, 4]
B. 4 和 [1, 2, 3, 4]
C. 3 和 [1, 2, 4, 5]
D. 4 和 [1, 2, 3, 5]
第7题 中级 2.0分 单选
t = (2, 4, 6, 2),执行 t.count(2) 的结果是?
A. 0
B. 1
C. 2
D. 4
第8题 中级 2.0分 单选
下面 Python 代码执行后,输出的结果是?

dict_a = {'a': 1, 'b': 2, 'c': 3}
dict_b = {'b': 4, 'd': 5}
dict_a.update(dict_b)
print(dict_a['b'])

A. 2
B. 4
C. 5
D. 报错
第9题 中级 2.0分 单选
执行 s = "a,b,c,d"; print(s.split(",", 2)) 的结果是?
A. ['a', 'b', 'c', 'd']
B. ['a', 'b', 'c,d']
C. ['a', 'b,c,d']
D. ['a,b', 'c,d']
第10题 中级 2.0分 单选
已知 set1 = {1, 2},set2 = {3}。现要求在不修改 set1 的前提下,获得一个包含 set1 和 set2 所有元素的新集合,以下哪个操作
A. set1 + set2
B. set1.union(set2)
C. set1.append(set2)
D. set1.update(set2)
第11题 中级 2.0分 单选
从字典 d = {'a': 1, 'b': 2} 中,如何得到一个只包含键的列表?
A. list(d)
B. d.keys()
C. d.to_list()
D. list(d.items())
第12题 中级 2.0分 单选
用 1 元、2 元、5 元硬币凑出 10 元,且硬币总数不超过 5 枚。以下程序计算符合要求的组合个数,横线处应填写的代码是?

count = 0
for one in range(0, 11):
for two in range(0, 6):
for five in range(0, 3):
total_money = one + two * 2 + five * 5
total_coins = one + two + five
if __________:
count += 1
print(count)

A. total_money == 10
B. total_coins <= 5
C. total_money == 10 and total_coins <= 5
D. total_money == 10 and total_coins >= 5
第13题 中级 2.0分 单选
下列程序能够将列表中的偶数筛选出来,并组成新列表。横线处填写的代码是?

nums = [1, 2, 3, 4, 5, 6]
even_nums = [x for x in nums if __________]

A. x * 2
B. x % 2 != 0
C. x % 2 == 0
D. x / 2 == 0
第14题 中级 2.0分 单选
某电商平台有 M 种商品类别,平台记录了 N 条销售记录,每条记录包含商品类别编号和销售数量。需要找出每个类别中单次销售数量最多的那一笔(即该类别的最大销售数量

M, N = map(int, input().split())
max_sale = [None] * (M + 1)
for _ in range(N):
cate, amount = map(int, input().split())
__________
max_sale[cate] = amount
valid_max = [v for v in max_sale[1:] if v is not None]
result = min(valid_max)
print(result)

A. if max_sale[cate] is None or amount > max_sale[cate]:
B. if amount > max_sale[cate]:
C. if max_sale[cate] is None:
D. while amount > max_sale[cate]:
第15题 中级 2.0分 单选
以下程序实现了一种简单的"翻转"加密:将大写字母表中的每个字母替换为与其对称的字母(A ↔ Z、B ↔ Y、C ↔ X、……)。横线处填写的代码是?

text = "HELLO"
result = []
for ch in text:
if 'A' <= ch <= 'Z':
__________
result.append(new_ch)
else:
result.append(ch)
encrypted = ''.join(result)
print(encrypted)

A. new_ch = chr(ord('Z') - (ord(ch) - ord('A')))
B. new_ch = chr(ord('Z') - ord(ch) - ord('A'))
C. new_ch = chr(ord('Z') + (ord(ch) - ord('A')))
D. new_ch = chr(ord('Z') - ord(ch))
第16题 中级 2.0分 判断
又到期末考试周,小明发现这次许多闭卷考试不仅禁止携带手机、平板电脑,还有最近比较时髦的各类 AI 眼镜(也有叫智能眼镜)也同样不允许带入考场。这些 AI 眼镜应
T. 正确
F. 错误
第17题 中级 2.0分 判断
bin()、oct()、hex() 这三个函数的返回值类型是整数(int)。
T. 正确
F. 错误
第18题 中级 2.0分 判断
表达式 (x & (x - 1)) 可以用来判断正整数 x 是否为 2 的幂次方。
T. 正确
F. 错误
第19题 中级 2.0分 判断
切片操作 mylist[2:5:-1] 会返回索引 2 到索引 4(包含)的元素,但顺序是反向的。
T. 正确
F. 错误
第20题 中级 2.0分 判断
创建只包含一个元素的元组时,必须在元素后加一个逗号,例如 (1,)。
T. 正确
F. 错误
第21题 中级 2.0分 判断
执行 d1 = {x: x for x in [1, 1, 2]} 后,d1 为 {1: 1, 2: 2}。
T. 正确
F. 错误
第22题 中级 2.0分 判断
使用 in 运算符检查子字符串是否存在时,如果字符串为空,"" in "abc" 将返回 False。
T. 正确
F. 错误
第23题 中级 2.0分 判断
执行下面 Python 代码后,输出的结果为 2。

s = {10, 20, 30}
s.remove(20)
s.discard(40)
print(len(s))

T. 正确
F. 错误
第24题 中级 2.0分 判断
执行下面 Python 代码后,输出的结果为 7。

my_str = "hello world"
my_set = set(my_str)
result = len(' '.join(my_set))
print(len)

T. 正确
F. 错误
第25题 中级 2.0分 判断
下列 Python 代码能够正确统计出所有能被 3 整除且至少包含一个数字 5 的四位数的个数。

count = 0
for num in range(1000, 10000):
if num % 3 == 0:
digits = [int(d) for d in str(num)]
if 5 in digits:
count += 1
print(count)

T. 正确
F. 错误
第26题 中级 25.0分 编程
. 加密

小杨同学有一串数字,想把它们变成另一串数字,这个过程叫做加密。
他有一本密码本,密码本告诉你:每个数字应该变成哪个数字。
数字一共有 10 个:0、1、2、3、4、5、6、7、8、9。密码本会依次告诉你:0 要变成什么、1 要变成什么……9 要变成什么。
请你按照密码本,把原来的每个数字都换成新的数字,然后输出。
需要加密的数字个数不超过 20000 个,且均为 0 到 9;密码本中的数字不重复,且均为 0 到 9。

【输入格式】
输入共有 3 行。第一行:一个整数,表示有多少个数字需要加密;第二行:这些需要加密的数字;第三行:密码本,一共 10 个数字。
第 1 个数字表示 0 加密后变成什么;第 2 个数字表示 1 加密后变成什么;……第 10 个数字表示 9 加密后变成什么。
【输出格式】
输出加密后的数字。
【样例】
7
0 2 0 3 4 1 9
9 0 1 2 3 4 5 6 7 8
【样例解释】
9 1 9 2 3 0 8
第27题 中级 25.0分 编程
. 字符转换

小杨同学有一串字符,里面可能有:大写字母(如 A、B、C)、小写字母(如 a、b、c)、数字(如 0、1、2)。
规则:1. 大写字母 → 对应小写字母;2. 小写字母 → 对应大写字母;3. 数字 → *。
字符个数不超过 1000 个。每个字符只会是大写字母、小写字母或数字。

【输入格式】
第一行:一个整数,表示字符个数;第二行:一串连续的字符,中间没有空格。
【输出格式】
输出转换后的字符,字符之间不要加空格。
【样例】
5
aBc98
【样例解释】
<pre class="inline-code">AbC**
💬