GESP2025年09月Python四级试卷
从PDF导入:GESP2025年09月Python四级试卷
试卷题目预览
人工智能现在非常火,小杨就想多了解一下,其中就经常听人提到"大模型"。那么请问这里说的"大模型"最贴切是指( )。
在TCP协议中,完成连接建立需要通过( )握手。
执行下面Python代码后,输出的结果是?( )
t = (1, [2, 3], 4)
t[1].extend([5, 6])
print(t)
执行下面Python代码后,输出的结果是?( )
data = [('a', [1]), ('b', [2])]
d = dict(data)
d['a'].append(3)
print(data[0][1])
以下哪种函数定义是正确的?( )
执行下面Python代码后,输出的结果是?( )
def func(a, lst=[]):
lst.append(a)
return lst
print(func(1), end=" ")
print(func(2))
执行下面Python代码后,输出的结果是?( )
def demo(x, y, z):
return x + y + z
values = (1, 2, 3)
result = demo(*values)
print(result)
下列有关函数内修改全局变量描述正确的是?( )
下列有关Python处理异常的说法正确的是?( )
为了安全地打开并读取一个文件,确保即使发生异常,文件也能被正确关闭,最佳做法是?( )
文件votes.txt内容如下:
Alice
Bob
Alice
Charlie
Bob
Alice
Alice
执行下面Python代码后,输出的结果是?( )
def count_votes(filename):
vote_count = {}
file = None
try:
file = open(filename, 'r')
for line in file:
name = line.strip()
if name in vote_count:
vote_count[name] += 1
else:
vote_count[name] = 1
except FileNotFoundError:
print(f"错误:文件 {filename} 不存在。")
except IOError:
print(f"错误:读取文件 {filename} 时发生I/O错误。")
finally:
if file:
file.close()
return vote_count
result = count_votes('votes.txt')
print(result)
以下代码的时间复杂度是?( )
def process_data(n):
count = 0
for i in range(n):
for j in range(n):
count += i * j
return count
下面代码采用递推算法来计算斐波那契数列第n项,则横线上应填写?( )
def fibo(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
a, b = 0, 1
for i in range(2, n + 1):
__________________ # 划线处
return b
以下是Python冒泡排序(由小到大)的优化版本,加入了提前终止机制。划线处应填入?( )
def optimized_bubble_sort(arr):
n = len(arr)
for i in range(n - 1, 0, -1):
swapped = ____________ # 初始化交换标志
for j in range(0, i):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
swapped = _________________ # 划线处
if not swapped:
break
执行下面Python代码后,输出的结果是?( )
words = ["Apple", "banana", "cherry", "Date"]
sorted_words = sorted(words, key=str.lower, reverse=True)
print(sorted_words)
在集成开发环境里调试程序时,要注意不能修改源程序,因为如果修改,就要终止调试、关闭该文件并重新打开,才能再次开始调试。( )
执行下面Python代码后,输出的结果为qu。( )
data = {'numbers': [10, 20, 30], 'title': 'quiz'}
data["title"] += str(data['numbers'].pop(-2))
print(data['title'][:-2])
执行下面代码后,输出的结果为5。( )
d = {'a': 3, 'b': 5, 'c': 1}
print(max(d, key=lambda k: d[k]))
在Python中,如果一个函数没有执行到任何return语句,或者return语句后没有指定返回值,Python解释器会默认让函数返回None。( )
执行下面Python代码会抛出ValueError异常。( )
len(123)
若文件log.txt已存在,执行以下代码后文件内容被清空,仅保留New log entry。( )
with open("log.txt", "w") as f:
f.write("New log entry")
以下代码的空间复杂度是O(n)。( )
def create_dict(n):
my_dict = {}
for i in range(n):
my_dict[i] = i * 2
return my_dict
递推算法必须存在至少一个初始值,这是递推算法能够启动和正确运行的基础。( )
选择排序和插入排序的平均时间复杂度都是O(n²),因此它们的效率在任何情况下都完全相同。( )
你收集了一些咖啡馆的信息,存储在字典coffee_shops中,以下代码可以筛选出所有评分(rating)高于4.5且距离(distance)在1公里以内的咖啡
coffee_shops = [
{"name": "A Cafe", "rating": 4.7, "distance": 1.2},
{"name": "B Brew", "rating": 4.3, "distance": 0.5},
{"name": "C Coffee", "rating": 4.9, "distance": 2.1},
{"name": "D Delight", "rating": 4.6, "distance": 0.9}
]
filtered_shops = list(
filter(lambda shop: shop["rating"] > 4.5 and shop["distance"] < 1.0, coffee_shops)
)
print(filtered_shops)
排兵布阵
时间限制:1.0 s
内存限制:512.0 MB
题面描述
作为将军,你自然需要合理地排兵布阵。地图可以视为n行m列的网格,适合排兵的网格以1标注,不适合排兵的网格以0标注。现在你需要在地图上选择一个矩形区域排兵,这个矩形区域内不能包含不适合排兵的网格。请问可选择的矩形区域最多能包含多少?
第一行,两个正整数n, m,分别表示地图网格的行数与列数。 接下来n行,每行m个整数Aij,表示各行中的网格是否适合排兵。
一行,一个整数,表示适合排兵的矩形区域包含的最大网格数。
样例输入1 4 3 0 1 1 1 0 1 0 1 1 1 1 1 样例输出1 4 样例输入2 3 5 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 样例输出2 3 数据范围 对于所有测试点,保证1 ≤ n, m ≤ 50,0 ≤ Aij ≤ 1。
最长连续段
时间限制:1.0 s
内存限制:512.0 MB
题面描述
对于n个整数构成的数组A,如果对所有i都有Ai+1 = Ai + 1,那么称数组A是一个连续段。给定由n个整数构成的数组A,你可以任意重排数组A中元素顺序。请问在重排顺序之后,所有是连续段的子数组中,最长的子数组长度是多少?
第一行,一个正整数n,表示数组长度。 第二行,n个整数Ai,表示数组中的整数。
一行,一个整数,表示数组A重排顺序后,所有是连续段的子数组的最长长度。
样例输入1 4 1 0 2 4 样例输出1 3 样例输入2 9 9 9 8 2 4 4 3 5 3 样例输出2 4 数据范围 对于50%的测试点,保证n ≤ 100。 对于所有测试点,保证1 ≤ n ≤ 1000,-10^9 ≤ Ai ≤ 10^9。