#148. GESP Python 四级 2024年12月 客观题
GESP Python 四级 2024年12月 客观题
一、单选题(每题2分,共30分)
- 2024年10月8日,诺贝尔物理学奖“意外地”颁给了两位计算机科学家约翰·霍普菲尔德(John J. Hopfield)和杰弗里·辛顿(Geoffrey E. Hinton)。这两位科学家的主要研究方向是( )。
{{ select(1) }}
- 天体物理
- 流体力学
- 人工智能
- 量子理论
- 计算机系统中存储的基本单位用B来表示,比如某个照片大小为3MB,其中B代表的是( )。
{{ select(2) }}
ByteBlockBulkBit
- 执行下面Python代码后,输出的结果是?( )
items = [('item1', 2), ('item2', 3), ('item3', 1)]
sorted_items = sorted(items, key=lambda x: (-x[1], x[0]))
print(sorted_items)
{{ select(3) }}
[('item3', 1), ('item1', 2), ('item2', 3)][('item1', 2), ('item2', 3), ('item3', 1)][('item2', 3), ('item3', 1), ('item1', 2)][('item2', 3), ('item1', 2), ('item3', 1)]
- 以下Python代码实现的排序算法的时间复杂度是?( )
def func_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
{{ select(4) }}
- 执行下面Python代码后,输出的结果是?( )
z = 5
def outer():
def inner():
global z
z = 15
inner()
print(z, end="#")
outer()
print(z, end="#")
{{ select(5) }}
15#15#15#5#5#15#5#5#
- 执行下面Python代码后,输出的结果是?( )
def double_elements(lst):
for i in range(len(lst)):
lst[i] *= 2
return lst
lstB = [1, 2, 3]
double_elements(lstB)
print(lstB, double_elements(lstB))
{{ select(6) }}
[1, 2, 3] [2, 4, 6][2, 4, 6] [4, 8, 12][4, 8, 12] [4, 8, 12][1, 2, 3] [4, 8, 12]
- 执行下面Python代码后,会发生什么?( )
my_list = [1, 2, 3]
print(my_list[3])
{{ select(7) }}
- 代码正常执行,输出3
- 抛出
TypeError异常 - 抛出
ValueError异常 - 抛出
IndexError异常
- 执行下面Python代码后,输出的结果是?( )
try:
my_dict = {'a': 1, 'b': 2}
print(my_dict['c'])
except KeyError:
print("10", end="#")
else:
print("20", end="#")
finally:
print("30", end="#")
{{ select(8) }}
10#20#10#30#20#30#
- 执行下面Python代码后,输出的结果可能是?( )
my_dic = {'a': [1, 2, 3], 'b': (4, 5, 6)}
my_dic['a'][0] = 10
my_dic['b'] += (7,)
print(my_dic)
{{ select(9) }}
{'a': [1, 2, 3], 'b': (4, 5, 6, 7)}{'a': [10, 2, 3], 'b': (4, 5, 6, 7)}{'a': [10, 2, 3], 'b': (4, 5, 6)}{'a': [10, 2, 3], 'b': (4, 5, 6, 7, 7)}
- 执行下面Python代码后,输出的结果是?( )
def func(a, *, b):
print("{},{}".format(a, b))
func(1, b=2)
{{ select(10) }}
1,22,1- 抛出异常
None
- 执行下面Python代码后,输出的结果是?( )
def func(**kwargs):
return {"name": kwargs.get("name", "Guest"), "age": kwargs.get("age", 18)}
user = func(name="Bob")
print(user["name"])
{{ select(11) }}
GuestBob18None
- 在一个棋盘上,有一堆麦子。根据棋盘的规则,第1格放1粒麦子,第2格放2粒麦子,第3格放4粒麦子,以此类推,每增加一格,麦子的数量翻倍。下列程序用来计算在第格有多少粒麦子,其中横线处填写的代码为?( )
lst = [0] * 64
lst[1] = 1
def calculate_wheat(n):
if n <= 1:
return lst[n]
i = 2
while i <= n:
lst[i] = # 填写代码
i += 1
return lst[i - 1]
{{ select(12) }}
lst[i - 1] * 2lst[i - 2] * 2lst[i - 1] + lst[i - 2]lst[-1] * 2
- 小杨相信数字“1”、“3”、“5”能给他带来好运,不喜欢数字“7”。他设计了一个计算数字幸运值的程序。对于数字中的所有字符,字符“1”幸运值为5,字符“3”幸运值为6,字符“5”幸运值为7,字符“7”的幸运值为-3,其他字符的幸运值为0,数字的幸运值即为其所有字符的幸运值之和。请在下面程序空白处填上正确内容以实现计算某数字幸运值的功能。
dic = {"1": 5, "3": 6, "5": 7, "7": -3}
num = input("请输入数字:")
ans = 0
for i in range(len(num)):
ch = num[i]
if ____________: # 填写代码 ①
# 填写代码 ②
print("该数字的幸运值为:", ans)
{{ select(13) }}
①ch in dic.values();②ans += dic[ch]①ch in dic.items();②ans += dic[ch]①ch in dic.keys();②ans = dic[ch]①ch in dic;②ans += dic[ch]
- 打开一个由小写英文和数字组成的文本文件
notes.txt,将该文件中的每一个字母加密后写入到一个新文件encrypted_notes.txt,加密的方法是:a变成b,b变成c,……,z变成a,其它字符不变化。请在下面程序空白处填上正确内容以实现程序功能。
file = open("notes.txt", "r")
line = file.readline()
list = []
while line:
for i in range(len(line)):
if line[i].islower():
jm = # 填写代码 ①
list.append(chr(jm))
else:
list.append(line[i])
line = file.readline()
file.close()
s = # 填写代码 ②
file = open("encrypted_notes.txt", "w+")
file.write(s)
file.close()
{{ select(14) }}
①(ord(line[i]) + 1) % 26;②''.join(list)①ord('a') + (ord(line[i]) + 1 - ord('a')) % 26;②''.join(list)①(ord(line[i]) + 1) % 26;②str(list)①ord('a') + (ord(line[i]) + 1 - ord('a')) % 26;②str(list)
- 假设你管理一个实验室,需要记录物品的领用情况。每次领用时,你会记录下领用的日期、物品名称以及领用人的姓名。这个信息将被保存在一个名为
lab_issuance.txt的文本文件中。其要求如下:①在文件末尾追加新的物品领用记录;②可以查看当前所有的物品领用记录。请在下面程序空白处填上正确内容以实现程序功能。
def append_record(date, item, name):
with open("lab_issuance.txt", ) as file: # 填写代码 ①
file.write(f"{date},{item},{name}\n")
def read_records():
with open("lab_issuance.txt", "r") as file:
records = # 填写代码 ②
for record in records:
print(record, end="")
# 示例操作
append_record("2024-11-05", "Computer", "Tom")
append_record("2024-11-06", "Pen", "Jack")
read_records()
{{ select(15) }}
①"a";②file.readlines()①"a";②file.readline()①"w";②file.readlines()①"w";②file.readline()
二、判断题(每题2分,共20分)
- 在Windows的资源管理器中为已有文件A建立副本的操作是Ctrl+C,然后Ctrl+V。( )
{{ select(16) }}
- 正确
- 错误
- 执行下面Python代码后,输出的结果是14。( )
a = 5
b = 3
result = (a & b) << 1
print(result)
{{ select(17) }}
- 正确
- 错误
- 执行下面Python代码,调用函数
get_max可以得到一个None类型的数据。( )
def get_max(*args):
if not args:
return None
return max(args)
print(type(get_max()))
{{ select(18) }}
- 正确
- 错误
- 执行下面Python代码后,输出的结果为
[1, 3, 5, 7]。( )
print(list(filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5, 6, 7, 8])))
{{ select(19) }}
- 正确
- 错误
- 下面这段程序的时间复杂度为常数阶。( )
def fun(n):
print("Hello, World!")
{{ select(20) }}
- 正确
- 错误
- 如果在函数内部对一个变量进行赋值操作,那么该变量默认为局部变量。( )
{{ select(21) }}
- 正确
- 错误
- 在Python中,已执行
list_of_tuples = [(1, 2), (3, 4)],如果执行list_of_tuples[0][1] = 5将不会报错。( )
{{ select(22) }}
- 正确
- 错误
- 在Python中,
[(i, i ** 2) for i in range(5)] + [7, ]是合法的表达式。( )
{{ select(23) }}
- 正确
- 错误
- 根据下面Python函数定义,调用
func()函数时如果参数分别为str和tuple类型,会报错。( )
def func(a, b):
return a + str(b)
{{ select(24) }}
- 正确
- 错误
- 在Python中,使用
with open(file, 'w') as f:语句打开文件后,即使发生异常,文件资源通常也会被正确关闭。( )
{{ select(25) }}
- 正确
- 错误