选择题 共15道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15


判断题 共10道

16 17 18 19 20 21 22 23 24 25


编程题 共2道

26 27

430 | 202412GESP Python四级试卷-练习
选择题 共15道
01

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

2分
登录后查看选项
02

计算机系统中存储的基本单位用B来表示,比如某个照片大小为3MB,其中B代表的是( )。

2分
登录后查看选项
03

执行下面Python代码后,输出的结果是?( )

items = [('item1', 2), ('item2', 3), ('item3', 1)]

sorted_items = sorted(items, key=lambda x: (-x[1], x[0]))

print(sorted_items)

2分
登录后查看选项
04

以下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

2分
登录后查看选项
05

执行下面Python代码后,输出的结果是?( )

z = 5



def outer():

   def inner():

       global z

       z = 15


   inner()

   print(z, end="#")


outer()

print(z, end="#")

2分
登录后查看选项
06

执行下面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))

2分
登录后查看选项
07

执行下面Python代码后,会发生什么?( )

my_list = [1, 2, 3]

print(my_list[3])

2分
登录后查看选项
08

执行下面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="#")

2分
登录后查看选项
09

执行下面Python代码后,输出的结果可能是?( )

my_dic = {'a': [1, 2, 3], 'b': (4, 5, 6)}

my_dic['a'][0] = 10

my_dic['b'] += (7,)

print(my_dic)

2分
登录后查看选项
10

执行下面Python代码后,输出的结果是?( )

def func(a, *, b):

   print("{},{}".format(a, b))


func(1, b=2)

2分
登录后查看选项
11

执行下面Python代码后,输出的结果是?( )


def func(**kwargs):

   return {"name": kwargs.get("name", "Guest"),

   "age": kwargs.get("age", 18)}


user = func(name="Bob")

print(user["name"])


2分
登录后查看选项
12

在一个棋盘上,有一堆麦子。根据棋盘的规则,第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]


2分
登录后查看选项
13

小杨相信数字“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)


2分
登录后查看选项
14

打开一个由小写英文和数字组成的文本文件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()

s = ____________ # 填写代码 ②

file = open("encrypted_notes.txt", "w+")

file.write(s)

file.close()


2分
登录后查看选项
15

假设你管理一个实验室,需要记录物品的领用情况。每次领用时,你会记录下领用的日期、物品名称以及领用人的姓名。这个信息将被保存在一个名为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( )


2分
登录后查看选项
判断题 共10道
16

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

2分
登录后查看选项
17

执行下面Python代码后,输出的结果是14。

a = 5

b = 3

result = (a & b) << 1

print(result)

2分
登录后查看选项
18

执行下面Python代码,调用函数get_max可以得到一个None类型的数据。

def get_max(*args):

   if not args:

       return None

return max(args)


print(type(get_max()))

2分
登录后查看选项
19

执行下面Python代码后,输出的结果为[1, 3, 5, 7]。

print(list(filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5, 6, 7, 8])))

2分
登录后查看选项
20

下面这段程序的时间复杂度为常数阶 O(1)。

def fun(n):

   print("Hello, World!")

2分
登录后查看选项
21

如果在函数内部对一个变量进行赋值操作,那么该变量默认为局部变量。

2分
登录后查看选项
22

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

2分
登录后查看选项
23

在Python中, [(i, i ** 2) for i in range(5)] + [7, ] 是合法的表达式。( )

2分
登录后查看选项
24

根据下面Python函数定义,调用func()函数时如果参数分别为str和tuple类型,会报错。

def func(a, b):

   return a + str(b)

2分
登录后查看选项
25

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

2分
登录后查看选项
编程题 共2道
26

25分
登录后作答
27

3.2.5样例解释

对于第一组测试数据,一种可行的排列顺序为 aa+ac+de,构成的字符串t为 aaacde,满足条件。

对于全部数据,保证有1≤t,n≤100,每个字符串的长度不超过 10。

25分
登录后作答