当前位置:首页>python>2026年GESP06月认证Python三级试卷

2026年GESP06月认证Python三级试卷

  • 2026-10-11 06:16:34
2026年GESP06月认证Python三级试卷

跟老马一起“升级打怪”学编程!

旨在为小朋友们提供全面的学习材料,共同为等级考试做好准备。

添加小助手微信,回复【GESP 2026.06Python三级】,获取本套试题答案。

2026年GESP06月认证Python三级试卷分数:100 题数:27

一、单选题(共15题,每题2分,共30分)

1、学校组织同学们到未来农场参观,小明听讲解员介绍。在智能温室中,湿度传感器可以连续检测土壤的湿度,并将检测到的湿度数据实时发送给中央控制器。中央控制器根据这些数据判断是否开启灌溉系统。请问,这里的湿度传感器所发挥的作用,类似于计算机系统中的哪一类组件?( )

  • A. 处理器
  • B. 存储器
  • C. 输入设备
  • D. 输出设备

2、小明同学去郊外农场参观回来后,在自己的电脑中安装了一个 3D 农场仿真模拟系统。因为他今年买的这台二手电脑有点老旧,3D 农场仿真模拟系统运行时经常弹出“系统内存不足”的警告,导致系统卡顿严重。他计划通过增加物理内存来解决问题。请问他应该购买以下哪种硬件组件?( )

  • A. 机械硬盘
  • B. 内存条
  • C. 图形显卡
  • D. 移动硬盘

3、在Python中,-1 的16位补码用十六进制表示是?( )

  • A. 0xFFFF
  • B. 0x8001
  • C. 0x0001
  • D. 0xFFFE

4、执行 print(bin(0o15)) 的输出结果是?( )

  • A. 0b1101
  • B. 0b1110
  • C. 0b1100
  • D. 0b1111

5、下列哪个表达式可以将整数 x 的二进制表示中从右往左数第5位(最低位为第0位)强制设置为1,而其他位保持不变?( )

  • A. x & (~(1 << 5))
  • B. x | (1 << 5)
  • C. x ^ (1 << 5)
  • D. x >> 5

6、下面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、t = (2, 4, 6, 2),执行t.count(2) 的结果是?( )

  • A. 0
  • B. 1
  • C. 2
  • D. 4

8、下面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、执行 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、已知 set1 = {1, 2},set2 = {3}。现要求 在不修改 set1的前提下,获得一个包含 set1和 set2所有元素的新集合,以下哪个操作是正确的?( )

  • A. set1 + set2
  • B. set1.union(set2)
  • C. set1.append(set2)
  • D. set1.update(set2)

11、从字典 d = {'a': 1, 'b': 2} 中,如何得到一个只包含键的列表?( )

  • A. list(d)
  • B. d.keys()
  • C. d.to_list()
  • D. list(d.items())

12、用1元、2元、5元硬币凑出10元,且硬币总数不超过5枚。以下程序计算符合要求的组合个数,横线处应填写的代码是?( )

count = 0for 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 + fiveif ________:                count += 1print(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、下列程序能够将列表中的偶数筛选出来,并组成新列表。横线处填写的代码是?( )

nums = [1, 2, 3, 4, 5, 6]  result = [x for x in nums if ________]  print(result) # 期望输出 [2, 4, 6]
  • A. x * 2
  • B. x % 2 != 0
  • C. x % 2 == 0
  • D. x / 2 == 0

14、某电商平台有 M 种商品类别,平台记录了 N 条销售记录,每条记录包含商品类别编号和销售数量。需要找出每个类别中单次销售数量最多的那一笔(即该类别的最大销售数量),并输出这些最大数量中的最小值。以下程序试图实现此功能,横线处填写的代码是?( )

M, N = map(int, input().split())max_sale = [None] * (M + 1)   # 用None初始化,表示暂无记录for _ in range(N):    cate, amount = map(int, input().split())    ____________        max_sale[cate] = amountvalid_max = [v for v in max_sale[1:] if v isnotNone]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、以下程序实现了一种简单的“翻转”加密:将大写字母表中的每个字母替换为与其对称的字母(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))

二、判断题(共10题,每题2分,共20分)

1、又到期末考试周,小明发现这次许多闭卷考试不仅禁止携带手机、平板电脑,还有最近比较时髦的各类 AI 眼镜(也有叫智能眼镜)也同样不允许带入考场。这些 AI 眼镜应该也是内置了操作系统并可能支持 Wi-Fi 或蓝牙连接。

  • 正确();
  • 错误();

2、bin()、oct()、hex() 这三个函数的返回值类型是整数(int)。

  • 正确();
  • 错误();

3、表达式 (x & (x-1))可以用来判断正整数 x是否为2的幂次方。

  • 正确();
  • 错误();

4、切片操作 mylist[2:5:-1] 会返回索引2到索引4(包含)的元素,但顺序是反向的。

  • 正确();
  • 错误();

5、创建只包含一个元素的元组时,必须在元素后加一个逗号,例如 (1,)。

  • 正确();
  • 错误();

6、执行d1 = {x: x for x in [1, 1, 2]}后,d1为{1:1, 2:2}。

  • 正确();
  • 错误();

7、使用in运算符检查子字符串是否存在时,如果字符串为空,"" in "abc"将返回False。

  • 正确();
  • 错误();

8、执行下面Python代码后,输出的结果为 2。

s = {10, 20, 30}  s.remove(20)  s.discard(40)  print(len(s))
  • 正确();
  • 错误();

9、执行下面Python代码后,输出的结果为 7。

my_str = "hello world"my_set = set(my_str)  result = len(''.join(my_set)) print(result)
  • 正确();
  • 错误();

10、下列Python代码能够正确统计出所有能被3整除且至少包含一个数字5的四位数的个数。

count = 0for num in range(1000, 10000):if num % 3 == 0:        digits = [int(d) for d in str(num)]if5in digits:            count += 1print(count)
  • 正确();
  • 错误();

三、编程题(共2题,共50分)

1、加密

【提交】

https://www.luogu.com.cn/problem/B4555

【问题描述】

小杨同学有一串数字,想把它们变成另一串数字,这个过程叫做 加密。

他有一本 密码本,密码本告诉你: 每个数字应该变成哪个数字。

数字一共有  个:0、1、2、3、4、5、6、7、8、9

密码本会依次告诉你:0 要变成什么1 要变成什么2 要变成什么……9 要变成什么

请你按照密码本,把原来的每个数字都换成新的数字,然后输出。

【输入描述】

输入共有  行。第一行:一个整数,表示有多少个数字需要加密;第二行:这些需要加密的数字;第三行:密码本,一共  个数字。

这  个数字的意思是:第  个数字:表示 0 加密后变成什么;第  个数字:表示 1 加密后变成什么;第  个数字:表示 2 加密后变成什么;……第  个数字:表示 9 加密后变成什么。

【输出描述】

输出加密后的数字。

也就是:把输入第二行里的每个数字,都按照输入第三行的密码本换掉后输出。

【样例输入1】

70 2 0 3 4 1 99 0 1 2 3 4 5 6 7 8

【样例输出1】

9 1 9 2 3 0 8

【样例解释1】

第二行要加密的数字是:0 2 0 3 4 1 9

第三行密码本是:9 0 1 2 3 4 5 6 7 8

它的意思是:

  • 0 变成 9
  • 1 变成 0
  • 2 变成 1
  • 3 变成 2
  • 4 变成 3
  • 5 变成 4
  • 6 变成 5
  • 7 变成 6
  • 8 变成 7
  • 9 变成 8

所以:

  • 0 变成 9
  • 2 变成 1
  • 0 变成 9
  • 3 变成 2
  • 4 变成 3
  • 1 变成 0
  • 9 变成 8

最后得到:9 1 9 2 3 0 8

【数据范围】

需要加密的数字个数不超过  个,且均为  到 ;密码本中的数字不重复,且均为  到 。

2、字符转换

【提交】

https://www.luogu.com.cn/problem/B4556

【问题描述】

小杨同学有一串字符,里面可能有:

  • 大写字母,比如 A、B、C
  • 小写字母,比如 a、b、c
  • 数字,比如 0、1、2

现在小杨同学想把这串字符变一变,规则如下:

  1. 如果是大写字母,就变成对应的小写字母;
  2. 如果是小写字母,就变成对应的大写字母;
  3. 如果是数字,就变成 *。

请你按照这个规则,帮小杨把整串字符转换好。

【输入描述】

输入一共有  行。第一行:一个整数,表示这串字符一共有多少个字符。第二行:一串连续的字符,中间没有空格。

【输出描述】

输出转换后的字符。

注意: 输出时字符之间不要加空格。

【样例输入1】

5aBc98

【样例输出1】

AbC**

【样例解释1】

原来的字符是:

aBc98

从左到右一个一个看:

  1. a 是小写字母,所以变成 A;
  2. B 是大写字母,所以变成 b;
  3. c 是小写字母,所以变成 C;
  4. 9 是数字,所以变成 *;
  5. 8 是数字,所以变成 *。

所以最后输出:

AbC**

【数据范围】

字符个数不会超过  个。

每个字符只会是大写字母、小写字母或数字。


青少年编程竞赛交流

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的 #21天刷题打卡、 #GESP编程能力测评、 #青少年编程等级考试、 #教育部白名单比赛辅导 以及 #青少年编程组队竞赛 等活动。

最新文章

随机文章