GESP2024年09月Python四级试卷

从PDF导入:GESP2024年09月Python四级试卷

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

据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三位。DJL-1计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为2μs(微秒)。那么该磁心存储元件相当于现代计算机的( )。

A. 内存
B. 磁盘
C. CPU
D. 显示器
第2题 中级 2.0分 单选
IPv4版本的因特网总共有( )个A类地址网络。
A. 65000
B. 200万
C. 126
D. 128
第3题 中级 2.0分 单选
执行下面Python代码后,输出的结果是?( )

my_list = [1, 2, [3, 4]]
my_list[2].extend([5, 6])
print(my_list)

A. [1, 2, 5, 6]
B. [1, 2, [3, 4]]
C. [1, 2, [3, 4, 5, 6]]
D. [1, 2, [3, 4, [5, 6]]]
第4题 中级 2.0分 单选
执行下面Python代码后,会发生什么?( )

my_tuple = (1, 2, (3, 4))
my_tuple[2] = (5, 6)

A. my_tuple变为(1, 2, (5, 6))
B. 代码正常执行,没有变化
C. 抛出ValueError异常
D. 抛出TypeError异常
第5题 中级 2.0分 单选
执行下面Python代码后,输出的结果是?( )

try:
result = 10 / int('a')
except ValueError:
print("10", end="#")
else:
print("20", end="#")
finally:
print("30", end="#")

A. 10#30#
B. 10#
C. 20#
D. 30#
第6题 中级 2.0分 单选
执行下面Python代码后,输出的结果是?( )

def func(n):
return len([num for num in range(n) if num % 2 == 0])
print(func(20))

A. 8
B. 10
C. 11
D. 15
第7题 中级 2.0分 单选
执行下面Python代码后,输出的结果是?( )

def func(*args):
return ''.join(args)
print(func('Hello', 'World'))

A. HelloWorld
B. Hello World
C. "Hello" "World"
D. 抛出异常
第8题 中级 2.0分 单选
执行下面Python代码后,输出的结果是?( )

def func(lst):
lst.append(10)
return lst
lstA = [1,2,3]
func(lstA)
print(lstA,func(lstA))

A. [1, 2, 3, 10, 10] [1, 2, 3, 10, 10]
B. [1, 2, 3] [1, 2, 3, 10]
C. [1, 2, 3, 10] [1, 2, 3, 10]
D. [1, 2, 3, 10] [1, 2, 3, 10, 10]
第9题 中级 2.0分 单选
执行下面Python代码后,输出的结果是?( )

def tpADD(tpl):
tpl = tpl +(5,6)
return tpl
tp = (1,2,3)
tpADD(tp)
print(tp,tpADD(tp))

A. (1, 2, 3, 5, 6, 5, 6) (1, 2, 3, 5, 6, 5, 6)
B. (1, 2, 3, 5, 6) (1, 2, 3, 5, 6)
C. (1, 2, 3) (1, 2, 3, 5, 6)
D. (1, 2, 3) (1, 2, 3)
第10题 中级 2.0分 单选
执行下面Python代码后,输出的结果是?( )

x = 5
def foo():
def bar():
global x
x = 10
bar()
print(x, end="#")
foo()
print(x, end="#")

A. 5#5#
B. 10#5#
C. 5#10#
D. 10#10#
第11题 中级 2.0分 单选
执行下面Python代码后,输出的结果是?( )

def func(d):
d['a'] = 5
c = {'a': 1, 'b': 2}
func(c)
print(c)

A. {'a': 1, 'b': 2}
B. {'b': 2}
C. {'a': 5, 'b': 2}
D. 抛出异常
第12题 中级 2.0分 单选
以下Python代码实现的排序算法的时间复杂度是?( )

def func_sort(arr):
n = len(arr)
for i in range(n - 1):
min_idx = i
for j in range(i+1, n):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]

A. O(n)
B. O(2n)
C. O(n^2)
D. O(n^3)
第13题 中级 2.0分 单选
执行下面Python代码后,输出的结果是?( )

tuples = [(1, 'apple'), (2, 'banana'), (0, 'cherry')]
sorted_tuples = sorted(tuples, key=lambda x: x[1])
print(sorted_tuples)

A. [(1, 'apple'), (0, 'cherry'), (2, 'banana')]
B. [(2, 'banana'), (1, 'apple'), (0, 'cherry')]
C. [(0, 'cherry'), (1, 'apple'), (2, 'banana')]
D. [(1, 'apple'), (2, 'banana'), (0, 'cherry')]
第14题 中级 2.0分 单选
假设你正在爬楼梯,每次可以爬1阶或2阶。给定楼梯的阶数n,计算有多少种不同的方法可以爬到楼顶。以下Python代码的横线处应该填写?( )

def climbStairs(n):
if n == 1:
return 1
if n == 2:
return 2
dp = [0] * (n + 1)
dp[1] = 1
dp[2] = 2
for i in range(3, n + 1):
__________
return dp[n]

A. dp[i] = 2 * dp[i - 1] + dp[i - 2]
B. dp[i] = dp[i - 1] + dp[i - 2]
C. dp[i] = 2 * dp[i - 2]
D. dp[i] = dp[i - 1] + 2 * dp[i - 2]
第15题 中级 2.0分 单选
文件numbers.txt的内容如下:

5
12
7
15
3
20
8
执行下面Python代码后,输出的结果是?( )
def func(file_path, threshold):
lst = []
with open(file_path) as file:
for line in file:
number = int(line.strip())
if number > threshold:
lst.append(number)
return lst
file_path = 'numbers.txt'
threshold = 12
selected_numbers = func(file_path, threshold)
print(selected_numbers)

A. [15, 20]
B. [12, 15, 20, 8]
C. [5, 12, 7, 15, 20, 8]
D. [12, 15, 20]
第16题 中级 2.0分 判断
小杨最近开始学习C++编程,老师说C++是一门面向对象的编程语言,也是一门高级语言。( )
T. 正确
F. 错误
第17题 中级 2.0分 判断
在Python程序中,自定义函数可以定义在主程序代码的前面,也可以定义在主程序代码的后面,都不会发生错误。( )
T. 正确
F. 错误
第18题 中级 2.0分 判断
在Python程序中,如果自定义函数内没有return语句或者return语句不带任何返回值,那么该函数的返回值为False。( )
T. 正确
F. 错误
第19题 中级 2.0分 判断
try-except-else-finally异常处理结构中,只有try程序段中的语句没有异常,else程序段中的语句才会得到执行。( )
T. 正确
F. 错误
第20题 中级 2.0分 判断
Python中避免使用反斜线\指定文件路径时出错,如C:\test\numbers.txt;常常使用正斜线/或者双反斜线\\。( )
T. 正确
F. 错误
第21题 中级 2.0分 判断
'w'可以作为open()函数的参数,表示以写的方式打开文件,若文件不存在,则会抛出异常。( )
T. 正确
F. 错误
第22题 中级 2.0分 判断
下面这段程序的时间复杂度为线性阶O(n)。( )

def func(n):
i = 0
while i ** 2 < n:
i += 1

T. 正确
F. 错误
第23题 中级 2.0分 判断
对一组数据[5, 2, 6, 4, 8, 1, 7, 3]使用冒泡的方法按从大到小的顺序进行排序,则第2轮排序过后的结果是[6, 5, 8, 4, 7, 3,
T. 正确
F. 错误
第24题 中级 2.0分 判断
执行下面Python代码后,输出的结果为(0, 0)。( )

lst = [(x, x**2) for x in range(-5, 6)]
a = min(lst, key=lambda x: abs(x[1]))
print(a)

T. 正确
F. 错误
第25题 中级 2.0分 判断
在Python中表达式{1, 3, 5} & {2, 4, 6} == {}的值为True。( )
T. 正确
F. 错误
第26题 中级 25.0分 编程
黑白方块

时间限制:1.0 s
内存限制:512.0 MB
题面描述
小杨有一个n行m列的网格图,其中每个格子要么是白色,要么是黑色。小杨想知道网格图中是否存在一个满足如下条件的子矩形:
(1)子矩形由4行4列组成;
(2)子矩形的第1行和第4行只包含白色格子;
(3)对于子矩形的第2行和第3行,只有第2个和第3个格子是白色的,其余格子都是黑色的;
请你编写程序帮助小杨判断。

【输入格式】
第一行包含一个正整数t,代表测试用例组数。接下来是t组测试用例。对于每组测试用例,一共n+1行。
第一行包含两个正整数n, m,含义如题面所示。
之后n行,每行一个长度为m的01串,代表网格图第i行格子的颜色,如果为0,则对应格子为白色,否则为黑色。
【输出格式】
对于每组测试用例,如果存在,输出Yes,否则输出No。
【样例】
样例输入
3
1 4
0110
5 5
00000
01100
01100
00001
01100
5 5
00000
01100
01110
00001
01100
样例输出
No
Yes
No
样例解释
满足条件的子矩形形如:
0000
0110
0110
0000
数据范围
对于全部数据,保证有1 ≤ n, m ≤ 100。
第27题 中级 25.0分 编程
区间排序

时间限制:1.0 s
内存限制:512.0 MB
题面描述
小杨有一个包含n个正整数的序列A。小杨计划对序列进行多次升序排序,每次升序排序小杨会选择一个区间[l, r](1 ≤ l < r ≤ n)并对区间内所有数字,即Al, Al+1, ..., Ar进行升序排序。每次升序排序会在上一次升序排序的结果上进行。小杨想请你计算出多次升序排序后的序列。

【输入格式】
第一行包含一个正整数n,含义如题面所示。
第二行包含n个正整数A1, A2, ..., An,代表序列。
第三行包含一个正整数q,代表排序次数。
之后q行,每行包含两个正整数l, r,代表将区间[l, r]内所有数字进行升序排序。
【输出格式】
输出一行包含n个正整数,代表多次升序排序后的序列。
【样例】
样例输入
5
3 4 5 2 1
3
4 5
3 4
1 3
样例输出
1 3 4 5 2
样例解释
第一次升序排序后,序列为[3, 4, 5, 1, 2];
第二次升序排序后,序列为[3, 4, 1, 5, 2];
第三次升序排序后,序列为[1, 3, 4, 5, 2];
数据范围
对于全部数据,保证有1 ≤ n ≤ 1000,1 ≤ Ai ≤ 1000,1 ≤ q ≤ 1000。
💬