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

2026年GESP03月认证Python三级试卷

  • 2026-10-12 13:39:25
2026年GESP03月认证Python三级试卷

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

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

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

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

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

1、2026 年春节联欢晚会上一个武术表演节目《武 BOT》。节目中多个人形机器人会表演空翻,它们落地可能会有微微踉跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作一个计算机系统,那么在该计算机系统中下面哪一项不能作为输入设备?( )

  • A. 用于检测重心的重力传感器
  • B. 预装的 AI 算法程序
  • C. 接收动作指令的遥控器
  • D. 拍摄其他机器人的摄像头

2、下面代码用来找出输入的  个正整数中最大的一个。如果将代码段用流程图来表示,则 L1 标记的代码行应该使用的图形是?( )

Max = 0N = int(input())while(N):    val = int(input())if val > Max: #L1        Max = val    N -= 1print(Max)
  • A. 圆形框
  • B. 椭圆形框
  • C. 平行四边形框
  • D. 菱形框

3、下列哪个表达式不能正确转换为十进制整数10?( )

  • A. int('10')
  • B. int('12', 8)
  • C. int('0b1010', 2)
  • D. int('10', 2)

4、要获取32位整数 0x48B2D6F1 的最低字节(比特位0-7),正确的表达式是?( )

  • A. 0x48B2D6F1 & 0xFF
  • B. 0x48B2D6F1 | 0xFF
  • C. (0x48B2D6F1 >> 8) & 0xFF
  • D. 0x48B2D6F1 ^ 0xFF

5、执行以下代码后,输出结果是?( )

lst = [10, 20, 30, 20]  lst.remove(20)  print(lst)  
  • A. [10, 30, 20]
  • B. [10, 30]
  • C. [10, 20, 30]
  • D. 上述代码执行后报错

6、对于列表 data = [1, 2, 3, 4, 5],执行 data[1:4] = [10, 20] 后,data 的值是?( )

  • A. [1, 10, 20, 4, 5]
  • B. [10, 20, 5]
  • C. [1, 10, 20]
  • D. [1, 10, 20, 5]

7、执行以下代码后,输出结果是?( )

result = [x if x > 2else0for x in range(1, 5)]print(result)
  • A. [1, 2, 3, 4]
  • B. [0, 0, 3, 4]
  • C. [0, 2, 3, 4]
  • D. [1, 0, 3, 4]

8、执行以下代码后,输出结果是?( )

my_zip = zip((1, 2), ('a', 'b'))print(tuple(my_zip))print(list(my_zip))
  • A.
(1, 'a', 2, 'b')[]
  • B.
(1, 'a', 2, 'b')[(1, 'a'), (2, 'b')]
  • C.
((1, 'a'), (2, 'b'))[]
  • D.
((1, 'a'), (2, 'b'))[(1, 'a'), (2, 'b')]

9、下列关于元组解包的说法,哪一项是正确的?( )

  • A. 元组解包时,左侧变量个数必须与元组元素个数严格相等,否则会报错。
  • B. 可以使用星号(*)操作符来捕获元组解包时多余的元素,并将其放入一个列表中。
  • C. 解包只能用于等号右侧是元组的情况,不能用于其他可迭代对象。
  • D. 元组解包操作会修改原始元组的内容。

10、执行以下代码后,输出结果是?( )

data = {'Math': 90, 'Science': 85, 'English': 92}subject = 'Science'if subject in data:    grade = data.get(subject, 0)if grade >= 90:        level = 'A'elif grade >= 80:        level = 'B'else:        level = 'C'print(level)
  • A. A
  • B. B
  • C. C
  • D. 上述代码执行后报错

11、执行 d = {'a': 1, 'b': 2}; print(d.keys()) 的输出类型是?( )

  • A. list
  • B. dict_keys
  • C. set
  • D. tuple

12、执行以下代码后,输出结果是?( )

s = "programming"vowels = "aeiou"count = 0for char in s:if char notin vowels:        count += 1print(count)
  • A. 4
  • B. 7
  • C. 8
  • D. 11

13、以下哪个操作可以返回两个集合中独有的元素(对称差集)?( )

  • A. s1 - s2
  • B. s1 & s2
  • C. s1 ^ s2
  • D. s1 | s2

14、执行以下代码后,输出结果是?( )

set1 = {1, 2, 3}set2 = set1set2.add(4)print(set1)
  • A. {1, 2, 3, 4}
  • B. {1, 2, 3}
  • C. None
  • D. 上述代码执行后报错

15、有 10 根长度分别为  的木棒,现需要从中选出 3 根木棒组成一个三角形。三角形的成立条件是任意两边之和大于第三边。以下程序通过枚举顺序递增的三边长度组合来统计有效三角形的数量,请补全代码中缺失的条件判断部分。( )

count = 0for a in range(1, 11):for b in range(a, 11): for c in range(b, 11):  if ________:  # 填空处                count += 1
  • A. a + b > c
  • B. a + b + c < 30
  • C. a*a + b*b == c*c
  • D. 所有选项都错误

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

1、小明的妈妈最近刚刚给他买了一块电话手表,除了可以看时间,小明也可以用它和妈妈打电话、收发信息,那么可以推测这块手表中装有一款特定操作系统。

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

2、在Python中,对于 8 位有符号整数(补码表示),1000 0000 表示的是 -128。

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

3、在Python中,任何一个十进制整数都可以精确地转换为一个二进制整数,但并非所有十进制小数都能精确地转换为二进制小数。

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

4、表达式 (x << 3) - (x << 1) 的计算结果与 x * 10 等价。

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

5、使用=运算符将一个列表赋值给另一个变量时,会创建一个内容相同但独立的新列表。

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

6、执行以下代码后,输出结果是 True。

tuple1 = (1, 2)tuple2 = (3, 4)result = tuple1 + tuple2print(result is (1, 2, 3, 4))
  • 正确();
  • 错误();

7、执行以下代码后,输出结果是 1。

text = "i love china"char_count = {}for char in text:if char != ' ':        char_count[char] = char_count.get(char, 0) + 1print(char_count.get('i', 0))
  • 正确();
  • 错误();

8、str.join()方法可以高效地连接一个列表中的多个元素,但要求该列表内的所有元素必须是字符串类型,否则会引发错误。

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

9、在Python中,集合的元素可以是列表或字典。

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

10、str() 函数可以将任何列表转换为一个字符串,该字符串是由列表中的所有元素直接拼接而成。

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

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

1、二进制回文串

【提交】

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

【问题描述】

对于一个正整数 ,我们将其转换为不含前导零的二进制表示,如果这个二进制序列从左向右读与从右向左读完全相同,则称该数为二进制回文数。例如, 的二进制表示为  ,是二进制回文数; 的二进制表示为 ,不是二进制回文数。

你的任务是:给定一个正整数 ,计算在  到  的范围内二进制回文数的数量。

【输入描述】

输入一行,包含一个正整数 。

【输出描述】

输出一行,包含一个数,表示在  到  的范围内二进制回文数的数量。

【样例输入1】

15

【样例输出1】

6

【样例解释】

样例 1 中, 到  范围内 、、、、、 是二进制回文数。

【数据范围】

。

2、凯撒密码

【提交】

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

【问题描述】

凯撒密码是一种替换加密技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是  的时候,所有的字母  将被替换成 , 变成 , 变成 ,以此类推, 变成 。这个加密方法是以罗马共和时期凯撒的名字命名的,据称当年凯撒曾用此方法与其将军们进行联系。

但是和所有的利用字母表进行替换的加密技术一样,凯撒密码非常容易被破解,而且在实际应用中也无法保证通信安全。

现在给你一个已破解的凯撒密码明文与密文,与一个有相同偏移量的未破解凯撒密码密文,请你帮忙破解它。

【输入描述】

输入共三行:

第一行包含一个字符串,表示已破解的凯撒密码明文;

第二行包含一个字符串,表示已破解的凯撒密码密文;

第三行包含一个字符串,表示待破解的凯撒密码密文。

【输出描述】

输出一行,包含一个字符串,表示待破解的凯撒密码对应的明文。

【样例输入1】

ABCDEFGVWXYZDEFGHIJYZABCWKHTXLFNEURZQIRAMXPSVRYHUWKHODCBGRJ

【样例输出1】

THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG

【样例解释】

样例 1 中,通过已破解的密码得出偏移量为 'D' - 'A' = 3,故而未破解的密码中 W 对应的字母为 'W' - 3 = 'T',K 对应的字母为 'K' - 3 = 'H',以此类推。

【数据范围】

保证密码长度均不超过 ,所有字符串由大写字母组成。


青少年编程竞赛交流

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

最新文章

随机文章