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

2026年GESP03月认证Python四级试卷

  • 2026-10-11 08:38:38
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、执行以下Python代码后,输出的结果是?( )

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]total = 0for row in matrix:for element in row:if element % 2 == 0:            total += elementprint(total)
  • A. 4
  • B. 10
  • C. 20
  • D. 25

4、执行以下Python代码,说法正确的是?( )

tup = (1, [2, 3], 4)tup[1] = [5, 6]
  • A. 元组被成功修改为(1, [5, 6], 4)
  • B. 代码可以执行,但元组内容未改变
  • C. 抛出TypeError异常
  • D. 元组被修改为(1, 2, 3, 4, 5, 6)

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

words = ["hello", "world", "python"]result = [char for word in words for char in word if char in'aeiou']print(len(result))
  • A. 3
  • B. 4
  • C. 5
  • D. 6

6、函数定义 def func(*args): pass 中的 *args 会将传入的参数打包成什么类型?

  • A. 列表
  • B. 字典
  • C. 元组
  • D. 集合

7、在嵌套函数中,需要修改外层函数(非全局作用域)的变量,应使用哪个关键字?( )

  • A. global
  • B. nonlocal
  • C. local
  • D. outer

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

defprocess_data(data):    result = []for item in data:if item > 0:            result.append(item * 2)elif item < 0:            result.append(abs(item))else:            result.append(0)return resultoutput = process_data([-2, 0, 3, -1])print(sum(output))
  • A. 12
  • B. 6
  • C. 8
  • D. 9

9、关于lambda匿名函数,以下描述 正确 的是?( )

  • A. lambda匿名函数可以包含多个表达式,用分号分隔
  • B. lambda匿名函数必须有参数
  • C. lambda匿名函数可以接受多个参数,但只能有一个表达式
  • D. lambda匿名函数必须有return语句

10、文件 text.txt 的内容如下:

Python is a programming language.Python is easy to learn.

以下程序统计单词"Python"在文件中出现的次数,请补全代码。( )

count = 0with open("text.txt", "r") as f:    content = f.________  # 补全代码    words = content.split()for word in words:if word == "Python":            count += 1print("Python出现次数:", count)
  • A. readlines()
  • B. read()
  • C. readline()
  • D. readlines

11、以下代码的时间复杂度是?( )

deffunc(n):    sum = 0for i in range(n):for j in range(i):            sum += j
  • A. 
  • B. 
  • C. 
  • D. 

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

try:    print(1, end="")raise ValueError("x")except ValueError as e:    print(2, end="")else:    print(3, end="")finally:    print(4, end="")
  • A. 14
  • B. 124
  • C. 1234
  • D. 程序报错

13、以下代码使用插入排序对列表进行升序排序。空白处应填入?( )

definsertion_sort_optimized(arr):    n = len(arr)for i in range(1, n):        key = arr[i]  # 当前待插入元素        j = i - 1while j >= 0and arr[j] > key:            arr[j + 1] = arr[j]  # 元素后移            j -= 1        _______________  # 插入元素到正确位置
  • A. arr[j + 1] = key
  • B. arr[j - 1] = key
  • C. key = arr[j]
  • D. arr[i] = key

14、阅读以下Python代码,下列说法正确的是?( )

n = int(input())defis_palindrome(s):return s == s[::-1]max_palindrome = 0for i in range(10 ** (n - 1), 10 ** n):for j in range(i, 10 ** n):        product = i * jif is_palindrome(str(product)) and product > max_palindrome:            max_palindrome = productprint(max_palindrome)
  • A. 找出所有n位数
  • B. 找出由两个n位数相乘得到的最大回文数
  • C. 找出所有回文数
  • D. 计算两个n位数乘积的最大值

15、以下代码实现了根据分数返回等级(A: 90-100, B: 80-89, C: 70-79, D: 60-69, F: 0-59)的功能,请选择正确的选项填入①②处。( )

grade_map = {90: "A", 80: "B", 70: "C", 60: "D", 0: "F"}defget_grade(score):if score < 0or score > 100:return"无效分数"for key in sorted(grade_map.keys(), reverse=True):if score >= key:return _____①_____score = int(input())grade = get_grade(score)print(f"分数 {score} 的等级是 {_____②_____}")
  • A. ① grade_map[score] ② grade
  • B. ① key ② get_grade(score)
  • C. ① grade_map[key] ② score
  • D. ① grade_map[key] ② grade

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

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

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

2、 在Python语言中,一个集合可以作为另一个集合的元素。

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

3、执行以下Python代码后,输出的结果是 <class 'set'>。

my_set = {i: j for i, j in zip([1, 2], [3, 4])}print(type(my_set))
  • 正确();
  • 错误();

4、执行以下Python代码后,输出的结果是 20 10。

deffunc(a, b):    a = a ^ b    b = a ^ b    a = a ^ breturn a, ba, b = func(10, 20)print(a, b)
  • 正确();
  • 错误();

5、执行以下Python代码后,输出的结果是 [6, 7]。

print(list(filter(lambda x: x > 5, [3, 6, 7, 2])))
  • 正确();
  • 错误();

6、执行以下Python代码后,输出的结果是 '789\n456'。

with open('test.txt', 'w') as f:    f.write('123\n456')with open('test.txt', 'r+') as f:    f.seek(0, 2)    f.write('789')    f.seek(0)    print(repr(f.read()))
  • 正确();
  • 错误();

7、下面这段程序的时间复杂度为平方阶 。

deffunc(n):for i in range(n):for j in range(n):if i % 2 == 0:break
  • 正确();
  • 错误();

8、执行以下Python代码后,输入0,会抛出异常 ZeroDivisionError。

data = {'a': 1}index = int(input())print(data['b'] / index)
  • 正确();
  • 错误();

9、在对列表进行排序时,sorted()函数会返回一个新的排序后的列表,不修改原列表,而sort()方法会直接修改原列表,返回值为None。

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

10、阅读以下递推算法的Python代码,执行后的输出结果是13。

a, b = 1, 2for i in range(3):    a, b = b, a + bprint(b)
  • 正确();
  • 错误();

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

1、山之谷

【提交】

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

【问题描述】

现有一片山地,可以视为一个  行  列的网格图,第  行  列的海拔为 。

若一个单元格的海拔不高于其所有相邻(包括边相邻和顶点相邻,每个单元格至多有 8 个相邻的单元格)单元格的海拔,则称其为山谷。

请你数一数该片山地中有多少山谷。

【输入描述】

第一行包含  个整数 ,表示山地的大小。

之后  行,每行包含  个整数 ,表示海拔。

【输出描述】

输出 1 行,包含 1 个整数 ,表示山谷的数量。

【样例输入1】

3 57 6 7 7 96 5 6 7 66 5 7 8 9

【样例输出1】

3

【样例解释】

样例 1 如图所示,绿色单元格代表山谷:

【数据范围】

保证 ,。

2、礼盒排序

【提交】

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

【问题描述】

商店推出了许多礼盒,每个礼盒中包含  件商品,每件商品都有一个价格。

现在需要对这些礼盒进行排序,排序规则如下:

  1. 先按 礼盒总价格从小到大 排序;
  2. 如果总价格相同,按 礼盒中最贵商品的价格从小到大 排序;
  3. 如果仍然相同,按 礼盒中最便宜商品的价格从小到大 排序;
  4. 如果仍然相同,按 礼盒编号从小到大 排序。

请输出排序后的礼盒编号。

【输入描述】

第一行包含两个整数  和 ,分别表示礼盒数量和每个礼盒中商品的数量。

接下来  行,每行包含  个整数,第  行表示第  个礼盒中各商品的价格。

【输出描述】

输出一行,包含排序后的礼盒编号(编号从  开始),用空格分隔。

【样例输入1】

4 33 5 24 1 52 2 43 4 3

【样例输出1】

3 4 2 1

【样例解释】

4 个礼盒分别为:

编号
商品价格
总价
最大值
最小值
1
3 5 2
10
5
2
2
4 1 5
10
5
1
3
2 2 4
8
4
2
4
3 4 3
10
4
3

排序过程:

  1. 按总价排序,3号礼盒总价最小;
  2. 其余总价均为 10,再按最大值排序,4号最大值更小;
  3. 1号和2号最大值相同,再按最小值排序,2号更小。

最终顺序为:3 4 2 1

【数据范围】

保证 ,,商品价格 。


青少年编程竞赛交流

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

最新文章

随机文章