GESP2026年03月Python四级试卷

从PDF导入:GESP2026年03月Python四级试卷

Python 120分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选

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

A. 用于检测重心的重力传感器
B. 预装的AI算法程序
C. 接收动作指令的遥控器
D. 拍摄其他机器人的摄像头
第2题 中级 2.0分 单选
下面代码用来找出输入的N个正整数中最大的一个。如果将代码段用流程图来表示,则L1标记的代码行应该使用的图形是( )。

Max = 0
N = int(input())
while(N):
val = int(input())
if val > Max: #L1
Max = val
N -= 1
print(Max)

A. 圆形框
B. 椭圆形框
C. 平行四边形框
D. 菱形框
第3题 中级 2.0分 单选
执行以下Python代码后,输出的结果是?( )

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
total = 0
for row in matrix:
for element in row:
if element % 2 == 0:
total += element
print(total)

A. 4
B. 10
C. 20
D. 25
第4题 中级 2.0分 单选
执行以下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题 中级 2.0分 单选
执行以下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题 中级 2.0分 单选
函数定义def func(*args): pass中的*args会将传入的参数打包成什么类型?
A. 列表
B. 字典
C. 元组
D. 集合
第7题 中级 2.0分 单选
在嵌套函数中,需要修改外层函数(非全局作用域)的变量,应使用哪个关键字?( )
A. global
B. nonlocal
C. local
D. outer
第8题 中级 2.0分 单选
执行以下Python代码后,输出的结果是?( )

def process_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 result
output = process_data([-2, 0, 3, -1])
print(sum(output))

A. 12
B. 6
C. 8
D. 9
第9题 中级 2.0分 单选
关于lambda匿名函数,以下描述正确的是?( )
A. lambda匿名函数可以包含多个表达式,用分号分隔
B. lambda匿名函数必须有参数
C. lambda匿名函数可以接受多个参数,但只能有一个表达式
D. lambda匿名函数必须有return语句
第10题 中级 2.0分 单选
文件text.txt的内容如下:

Python is a programming language.
Python is easy to learn.
以下程序统计单词"Python"在文件中出现的次数。请补全代码。( )
count = 0
with open("text.txt", "r") as f:
content = f.________
words = content.split()
for word in words:
if word == "Python":
count += 1
print("Python出现次数:", count)

A. readlines()
B. read()
C. readline()
D. readlines
第11题 中级 2.0分 单选
以下代码的时间复杂度是?( )

def func(n):
sum = 0
for i in range(n):
for j in range(i):
sum += j

A. O(n)
B. O(log n)
C. O(n²)
D. O(n³)
第12题 中级 2.0分 单选
执行以下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题 中级 2.0分 单选
以下代码使用插入排序对列表进行升序排序。空白处应填入?( )

def insertion_sort_optimized(arr):
n = len(arr)
for i in range(1, n):
key = arr[i]
j = i - 1
while j >= 0 and 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题 中级 2.0分 单选
阅读以下Python代码,下列说法正确的是?( )

n = int(input())
def is_palindrome(s):
return s == s[::-1]
max_palindrome = 0
for i in range(10 (n - 1), 10 n):
for j in range(i, 10 ** n):
product = i * j
if is_palindrome(str(product)) and product > max_palindrome:
max_palindrome = product
print(max_palindrome)

A. 找出所有n位数
B. 找出由两个n位数相乘得到的最大回文数
C. 找出所有回文数
D. 计算两个n位数乘积的最大值
第15题 中级 2.0分 单选

以下代码实现了根据分数返回等级(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"}
def get_grade(score):
if score < 0 or 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
第16题 中级 2.0分 判断
小明的妈妈最近刚刚给他买了一块电话手表,除了可以看时间,小明也可以用它和妈妈打电话、收发信息,那么可以推测这块手表中装有一款特定操作系统。( )
T. 正确
F. 错误
第17题 中级 2.0分 判断
在Python语言中,一个集合可以作为另一个集合的元素。( )
T. 正确
F. 错误
第18题 中级 2.0分 判断
执行以下Python代码后,输出的结果是<class 'set'>。( )

my_set = {i: j for i, j in zip([1, 2], [3, 4])}
print(type(my_set))

T. 正确
F. 错误
第19题 中级 2.0分 判断
执行以下Python代码后,输出的结果是20 10。( )

def func(a, b):
a = a ^ b
b = a ^ b
a = a ^ b
return a, b
a, b = func(10, 20)
print(a, b)

T. 正确
F. 错误
第20题 中级 2.0分 判断
执行以下Python代码后,输出的结果是[6, 7]。( )

print(list(filter(lambda x: x > 5, [3, 6, 7, 2])))

T. 正确
F. 错误
第21题 中级 2.0分 判断
执行以下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()))

T. 正确
F. 错误
第22题 中级 2.0分 判断
下面这段程序的时间复杂度为平方阶O(n²)。( )

def func(n):
for i in range(n):
for j in range(n):
if i % 2 == 0:
break

T. 正确
F. 错误
第23题 中级 2.0分 判断
执行以下Python代码后,会抛出异常ZeroDivisionError。( )

data = {'a': 1}
index = int(input())
print(data['b'] / index)

T. 正确
F. 错误
第24题 中级 2.0分 判断
在对列表进行排序时,sorted()函数会返回一个新的排序后的列表,不修改原列表,而sort()方法会直接修改原列表,返回值为None。( )
T. 正确
F. 错误
第25题 中级 2.0分 判断
阅读以下递推算法的Python代码,执行后的输出结果是13。( )

a, b = 1, 2
for i in range(3):
a, b = b, a + b
print(b)

T. 正确
F. 错误
第26题 中级 25.0分 编程
山之谷

时间限制:1.0 s
内存限制:512.0 MB
题面描述
现有一片山地,可以视为一个n行m列的网格图,第i行j列的海拔为Aij。如果一个单元格的海拔不高于其所有相邻单元格(相邻包括上、下、左、右、左上、右上、左下、右下,最多8个方向)的海拔,则称该单元格为山谷。请你数一数该片山地中有多少山谷。

【输入格式】
第一行包含2个整数n, m,表示山地的大小。
之后n行,每行包含m个整数Aij,表示海拔。
【输出格式】
输出1行,包含1个整数,表示山谷的数量。
【样例】
样例输入
3 5
7 6 6 7 9
6 5 6 7 6
6 5 7 8 9
样例输出
3
数据范围
保证1 ≤ n, m ≤ 50,0 ≤ Aij ≤ 1000。
第27题 中级 25.0分 编程
礼盒排序

时间限制:1.0 s
内存限制:512.0 MB
题面描述
商店推出了许多礼盒,每个礼盒中包含k件商品,每件商品都有一个价格。现在需要对这些礼盒进行排序,排序规则如下:1. 先按礼盒总价格从小到大排序;2. 如果总价格相同,按礼盒中最贵商品的价格从小到大排序;3. 如果仍然相同,按礼盒中最便宜商品的价格从小到大排序;4. 如果仍然相同,按礼盒编号从小到大排序。请输出排序后的礼盒编号。

【输入格式】
第一行包含两个整数n和k,分别表示礼盒数量和每个礼盒中商品的数量。
接下来n行,每行包含k个整数,第i行表示第i个礼盒中各商品的价格。
【输出格式】
输出一行,包含排序后的礼盒编号(编号从1开始),用空格分隔。
【样例】
样例输入
4 3
3 5 2
4 1 5
2 2 4
3 4 3
样例输出
3 4 2 1
数据范围
保证1 ≤ n ≤ 1000,1 ≤ k ≤ 100,商品价格1 ≤ pi ≤ 1000。
💬