GESP2025年06月Python四级试卷
从PDF导入:GESP2025年06月Python四级试卷
试卷题目预览
2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的( )。
小杨购置的计算机使用一年后觉得内存不够用了,想购置一个容量更大的内存条,这时需要的内存条是( )。
执行下面Python代码后,输出的结果是?( )
s1 = {('a', 1), ('b', 2)}
s2 = {('b', 2), ('a', 1)}
t1 = (('a', 1), ('b', 2))
t2 = (('b', 2), ('a', 1))
print(s1 == s2, t1 == t2)
执行下面Python代码后,输出的结果是?( )
def func(*args):
return sum(args) / len(args)
result = func(1, 2, 3, 4, 5)
print(result)
以下哪个函数调用是合法的?( )
def func(a, b, *, c, d=0):
pass
执行下面Python代码后,输出的结果是?( )
x = 10
def func():
x += 1
return x
print(func())
执行下面Python代码后,输出的结果是?( )
func = lambda x: x * 2 if x > 0 else x // 2
print(func(-4), func(4))
执行下面Python代码后,输出的结果是?( )
def apply(func, x):
return func(x)
def square(n):
return n * n
result = apply(square, 4)
print(result)
执行下面Python代码后,会发生什么?( )
try:
raise ValueError
except Exception:
print("A")
except ValueError:
print("B")
执行下面Python代码后,输出的结果是?( )
try:
1 / 0
except ValueError:
print("A")
else:
print("B")
print("C")
以下哪个选项可以正确读取文件"data.txt"的全部内容并返回一个字符串?( )
with open("data.txt", "r") as f:
content = ________
以下哪种文件打开模式可以在不截断文件的情况下同时支持读写?( )
以下哪种排序算法的时间复杂度在最坏情况下是O(n²)?( )
执行以下代码后,输出的结果是?( )
data = ['apple', 'Banana', 'cherry']
print(sorted(data))
给定一个整数数组nums,计算其最长递增子序列的长度。子序列可以不连续,但必须保持原数组的顺序。例如:nums = [10, 9, 2, 5, 3, 7, 10
def length_of_LIS(nums):
dp = [1] * len(nums)
for i in range(1, len(nums)):
for j in range(i):
if nums[j] < nums[i]:
dp[i] = ________
return max(dp)
现在,人们参加各种闭卷考试时通常都不允许将智能手机、平板电脑等带入考场,因为智能手表通常都有嵌入操作系统及通信等功能,所以也不允许携带入考场。( )
执行下面Python代码后,输出的结果为3。( )
data = {'ids': [1, 2], 'name': 'test'}
data['ids'].extend(['g', 'e', 's', 'p'])
print(len(data['ids']))
执行下面Python代码会报错,因为lambda函数不能有默认参数。( )
f = lambda x, y=2: x + y
f(1)
执行下面Python代码后,输出的结果为[1, 4, 9]。( )
print(list(map(lambda x: x**2, [1, 2, 3])))
执行下面Python代码后,将只输出try。( )
def test():
try:
return "try"
finally:
print("finally执行了")
print(test())
在Python中,readlines()方法返回的文件内容包含每行末尾的换行符(\n)。( )
递推算法的核心思想是利用已知条件逐步推导后续结果。( )
选择排序是一种稳定的排序算法。( )
以下代码的时间复杂度是O(n)。( )
def func(n):
for i in range(n):
for j in range(n):
print(i, j)
以下代码的空间复杂度是O(1)。( )
def sum_elements(arr):
total = 0
for num in arr:
total += num
return total
画布裁剪
时间限制:3.0 s
内存限制:512.0 MB
题面描述
小A在高为n宽为m的矩形画布上绘制了一幅画。由于画布边缘留白太多,小A想适当地裁剪画布,只保留画的主体。具体来说,画布可以视为n行m列的字符矩阵,其中的字符均为ASCII码位于32到126之间的可见字符,小A只保留画布中由第x1行到第x2行、第y1列到第y2列构成的子矩阵。小A将画布交给了你,你能帮他完成画布的裁剪吗?
第一行,两个正整数n, m,分别表示画布的行数与列数。 第二行,四个正整数x1, x2, y1, y2,表示保留的行列边界。 接下来n行,每行一个长度为m的字符串,表示画布内容。
输出共x2-x1+1行,每行一个长度为y2-y1+1的字符串,表示裁剪后的画布。
样例输入 3 5 2 2 2 4 ..... .>_<. ..... 样例输出 >_< 数据范围 对于所有测试点,保证1 ≤ n, m ≤ 100,1 ≤ x1 ≤ x2 ≤ n,1 ≤ y1 ≤ y2 ≤ m。
排序
时间限制:3.0 s
内存限制:512.0 MB
题面描述
体育课上有n名同学排成一队,从前往后数第i位同学的身高为hi,体重为wi。目前排成的队伍看起来参差不齐,老师希望同学们能按照身高从高到低的顺序排队,如果身高相同则按照体重从重到轻排序。在调整队伍时,每次只能交换相邻两位同学的位置。老师想知道,最少需要多少次交换操作,才能将队伍调整成目标顺序。
第一行,一个正整数n,表示队伍人数。 接下来n行,每行两个正整数hi和wi,分别表示第i位同学的身高和体重。
输出一行,一个整数,表示最少需要的交换次数。
样例输入 5 1 60 3 70 2 80 4 55 4 50 样例输出 8 数据范围 对于所有测试点,保证1 ≤ n ≤ 1000,1 ≤ hi, wi ≤ 1000。