202412 CCF-GESP编程能力等级认证Python四级真题 建议答题时长:60min
1. 单选题

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

A

天体物理

B

流体力学

C

人工智能

D

量子理论

2. 单选题

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

A

Byte

B

Block

C

Bulk

D

Bit

3. 单选题

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

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

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

print(sorted_items)

A

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

B

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

C

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

D

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

4. 单选题

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

A

O(n)

B

O(2n)

C

O(n2)

D

O(n3)

5. 单选题

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

z = 5

 

 

def outer():

   def inner():

       global z

       z = 15

 

   inner()

   print(z, end="#")

 

outer()

print(z, end="#")

A

15#15#

B

15#5#

C

5#15#

D

5#5#

6. 单选题

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

A

[1, 2, 3] [2, 4, 6]

B

[2, 4, 6] [4, 8, 12]

C

[4, 8, 12] [4, 8, 12]

D

[1, 2, 3] [4, 8, 12]

7. 单选题

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

my_list = [1, 2, 3]

print(my_list[3])

A

代码正常执行,输出3

B

抛出TypeError异常

C

抛出ValueError异常

D

抛出IndexError异常

8. 单选题

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

A

10#

B

20#

C

10#30#

D

20#30#

9. 单选题

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

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

my_dic['a'][0] = 10

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

print(my_dic)

A

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

B

{'a': [10, 2, 3], 'b': (4, 5, 6, 7)}

C

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

D

{'a': [10, 2, 3], 'b': (4, 5, 6, 7, 7)}

10. 单选题

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

def func(a, *, b):

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

 

func(1, b=2)

A

1,2

B

2,1

C

抛出异常

D

None

11. 单选题

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

 

def func(**kwargs):

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

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

 

user = func(name="Bob")

print(user["name"])

A

Guest

B

Bob

C

18

D

None

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]

A

lst[i - 1] * 2

B

lst[i - 2] * 2

C

lst[i - 1] + lst[i - 2]

D

lst[-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)

A

① ch in dic.values() ② ans += dic[ch]

B

① ch in dic.items() ② ans += dic[ch]

C

① ch in dic.keys() ② ans = dic[ch]

D

① ch in dic ② ans += dic[ch]

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()

A

① (ord(line[i]) + 1) % 26 ② ''.join(list)

B

① ord('a') + (ord(line[i]) + 1 - ord('a')) % 26 ② ''.join(list)

C

① (ord(line[i]) + 1) % 26 ② str(list)

D

① ord('a') + (ord(line[i]) + 1 - ord('a')) % 26 ② str(list)

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( )

A

① "a" ② file.readlines()

B

① "a" ② file.readline()

C

① "w" ② file.readlines()

D

① "w" ② file.readline()

16. 判断题

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

A

B

17. 判断题

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

a = 5

b = 3

result = (a & b) << 1

print(result)

A

B

18. 判断题

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

def get_max(*args):

   if not args:

       return None

return max(args)

 

print(type(get_max()))

A

B

19. 判断题

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

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

A

B

20. 判断题

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

def fun(n):

   print("Hello, World!")

A

B

21. 判断题

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

A

B

22. 判断题

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

A

B

23. 判断题

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

A

B

24. 判断题

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

def func(a, b):

   return a + str(b)

A

B

25. 判断题

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

A

B

26. 编程题

试题名称:Recaman

查看答案
27. 编程题

试题名称:字符排序

3.2.5样例解释

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

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

查看答案
试题目录
单选题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
判断题
16 17 18 19 20 21 22 23 24 25
编程题
26 27
赣ICP备20007335号-2