#148. GESP Python 四级 2024年12月 客观题

GESP Python 四级 2024年12月 客观题

一、单选题(每题2分,共30分)

  1. 2024年10月8日,诺贝尔物理学奖“意外地”颁给了两位计算机科学家约翰·霍普菲尔德(John J. Hopfield)和杰弗里·辛顿(Geoffrey E. Hinton)。这两位科学家的主要研究方向是( )。

{{ select(1) }}

  • 天体物理
  • 流体力学
  • 人工智能
  • 量子理论
  1. 计算机系统中存储的基本单位用B来表示,比如某个照片大小为3MB,其中B代表的是( )。

{{ select(2) }}

  • Byte
  • Block
  • Bulk
  • Bit
  1. 执行下面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)]
  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) }}

  • O(n)O(n)
  • O(nlogn)O(nlogn)
  • O(n2)O(n^2)
  • O(n3)O(n^3)
  1. 执行下面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#
  1. 执行下面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]
  1. 执行下面Python代码后,会发生什么?( )
my_list = [1, 2, 3]
print(my_list[3])

{{ select(7) }}

  • 代码正常执行,输出3
  • 抛出TypeError异常
  • 抛出ValueError异常
  • 抛出IndexError异常
  1. 执行下面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#
  1. 执行下面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)}
  1. 执行下面Python代码后,输出的结果是?( )
def func(a, *, b):
    print("{},{}".format(a, b))
func(1, b=2)

{{ select(10) }}

  • 1,2
  • 2,1
  • 抛出异常
  • None
  1. 执行下面Python代码后,输出的结果是?( )
def func(**kwargs):
    return {"name": kwargs.get("name", "Guest"), "age": kwargs.get("age", 18)}
user = func(name="Bob")
print(user["name"])

{{ select(11) }}

  • Guest
  • Bob
  • 18
  • None
  1. 在一个棋盘上,有一堆麦子。根据棋盘的规则,第1格放1粒麦子,第2格放2粒麦子,第3格放4粒麦子,以此类推,每增加一格,麦子的数量翻倍。下列程序用来计算在第n(n<64)n(n<64)格有多少粒麦子,其中横线处填写的代码为?( )
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] * 2
  • lst[i - 2] * 2
  • lst[i - 1] + lst[i - 2]
  • lst[-1] * 2
  1. 小杨相信数字“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]
  1. 打开一个由小写英文和数字组成的文本文件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)
  1. 假设你管理一个实验室,需要记录物品的领用情况。每次领用时,你会记录下领用的日期、物品名称以及领用人的姓名。这个信息将被保存在一个名为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分)

  1. 在Windows的资源管理器中为已有文件A建立副本的操作是Ctrl+C,然后Ctrl+V。( )

{{ select(16) }}

  • 正确
  • 错误
  1. 执行下面Python代码后,输出的结果是14。( )
a = 5
b = 3
result = (a & b) << 1
print(result)

{{ select(17) }}

  • 正确
  • 错误
  1. 执行下面Python代码,调用函数get_max可以得到一个None类型的数据。( )
def get_max(*args):
    if not args:
        return None
    return max(args)
print(type(get_max()))

{{ select(18) }}

  • 正确
  • 错误
  1. 执行下面Python代码后,输出的结果为[1, 3, 5, 7]。( )
print(list(filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5, 6, 7, 8])))

{{ select(19) }}

  • 正确
  • 错误
  1. 下面这段程序的时间复杂度为常数阶O(1)O(1)。( )
def fun(n):
    print("Hello, World!")

{{ select(20) }}

  • 正确
  • 错误
  1. 如果在函数内部对一个变量进行赋值操作,那么该变量默认为局部变量。( )

{{ select(21) }}

  • 正确
  • 错误
  1. 在Python中,已执行list_of_tuples = [(1, 2), (3, 4)],如果执行list_of_tuples[0][1] = 5将不会报错。( )

{{ select(22) }}

  • 正确
  • 错误
  1. 在Python中,[(i, i ** 2) for i in range(5)] + [7, ]是合法的表达式。( )

{{ select(23) }}

  • 正确
  • 错误
  1. 根据下面Python函数定义,调用func()函数时如果参数分别为strtuple类型,会报错。( )
def func(a, b):
    return a + str(b)

{{ select(24) }}

  • 正确
  • 错误
  1. 在Python中,使用with open(file, 'w') as f:语句打开文件后,即使发生异常,文件资源通常也会被正确关闭。( )

{{ select(25) }}

  • 正确
  • 错误