选择题 共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

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

小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语言有几种?( )

2分
登录后查看选项
02

下面流程图在yr输入2024时,可以判定yr代表闰年,并输出 2月是29天 ,则图中菱形框中应该填入( )。

2分
登录后查看选项
03

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

name = ('Tom', 'Join', 'Gaia')

age = (10, 13, 12)

print({(a.upper(), b) for a, b in zip(name, age)})

2分
登录后查看选项
04

函数fun的定义如下,调用该函数的语句错误的是?( )

def fun(x, y, z=3):

   print(x, y, z)

2分
登录后查看选项
05

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

def fun(x, y, *nums):

   res = x + y

   for i in nums:

       res += i

   return res


print(fun(10, 20, 15, 25, 30))

2分
登录后查看选项
06

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

def fun(x, y, **kwargs):

   res = x + y

for i in kwargs.values():

   res += i

   return res


print(fun(10, 20, A=6, B=1, C=3))

2分
登录后查看选项
07

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

def add():

   count = 1


   def fun():

       nonlocal count

       print(count, end="#")

       count += 2


   return fun


a = add()

a()

a()

2分
登录后查看选项
08

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

s = 1


def sums(n):

   global s

   s = 0

   s = s + n

   print(s, end="#")


sums(5)

print(s, end="#")

2分
登录后查看选项
09

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

def add(c):

   d = c.append(40)

   return d


a = [10, 20, 30]

b = add(a)

print(a, b)

2分
登录后查看选项
10

在一个农场上,有一头母牛。根据农场的规则,这头母牛每年年初都会生出一头小母牛。每头新生的小母牛从它们出生的第四个年头开始,也会每年年初生出一头新的小母牛。假设没有母牛死亡,并且每头母牛都严格遵循这个规则。下列程序用来计算在第年时,农场上共有多少头母牛,其中横线处填写的代码为?()

lst = [0] * 100

lst[1:4] = [1, 2, 3, 4]


def calculate_cows(n):

   if n <= 4:

       return lst[n]

   i = 5

   while i <= n:

       lst[i] = __________

       i += 1

return lst[i - 1]

2分
登录后查看选项
11

程序段如下:

def fun(arr: list):

   n = len(arr)

   for i in range(n - 1):

       for j in range(0, n - i - 1):

       if arr[j] > arr[j + 1]:

       arr[j], arr[j + 1] = arr[j + 1], arr[j]

其中,n为正整数,则该段程序的最坏时间复杂度是?( )

2分
登录后查看选项
12

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

users = [

   {"name": "Tom", "skills": {"Python", "Java", "C++"}},

   {"name": "Join", "skills": {"Python", "Java"}},

   {"name": "Gaia", "skills": {"Java", "C++", "SQL"}}

]


skills_sets = (user['skills'] for user in users)

common_skills = set.intersection(*skills_sets)

print(common_skills)

2分
登录后查看选项
13

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

lst = [1, 4, 3, 5, 2]

lst = [i[0] for i in sorted(enumerate(lst), key=lambda x: x[1])]

print(lst)

2分
登录后查看选项
14

执行下面Python代码后,文件ip.txt中的内容用记事本打开时显示为?( )


with open("ip.txt", "w") as f:

   lst = ["202.206.224.21\n", "192.168.224.1\n"]

   f.writelines(lst)

2分
登录后查看选项
15

执行下面Python代码,输入0和字符串“abc”后,输出的结果是?( )

try:

   a = int(input())

   b = int(input())

   x = a / b

   print(x, end="#")

except ZeroDivisionError:

   print(0, end="#")

except:

   print(1, end="#")

else:

   print(2, end="#")

finally:

   print(3, end="#")

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

GESP测试是对认证者的编程能力进行等级认证,同一级别的能力基本上与编程语言无关。( )

2分
登录后查看选项
17

在Python中,print(list("GESP"))执行后输出['G', 'E', 'S', 'P']。( )

2分
登录后查看选项
18

执行下面Python代码后,输出两个True。

print("h" in "hello")

print("he" in "hello")

2分
登录后查看选项
19

执行下面Python代码后,输出两个True。

lst1 = [1, 2, 3]

lst2 = lst1[:]

print(lst1 == lst2, lst1 is lst2)

2分
登录后查看选项
20

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

def fun(a, b):

   return a // b, a % b


print(type(fun(8, 5)))

2分
登录后查看选项
21

Python程序中,全局变量与局部变量不允许重名。

2分
登录后查看选项
22

下面这段程序的时间复杂度为平方阶 O(n2)。( )

def fun(n):

   sum1 = 0

   for i in range(n):

       sum1 += i

2分
登录后查看选项
23

Python在处理程序异常时,异常处理结构能够发现程序段中的语法错误。

2分
登录后查看选项
24

要打开一个已经存在的图片文件并读取但不修改数据,则打开模式应该设定为rb。

2分
登录后查看选项
25

执行下面Python代码后,输出的结果为za。

print(max('az', 'za', key=lambda a: a[0]))

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

编程题 1

试题名称:黑白方块

时间限制:1.0s

内存限制:512.0 MB

3.1.1 题面描述

小杨有一个n行 m 列的网格图,其中每个格子要么是白色,要么是黑色。

对于网格图中的一个子矩形,小杨认为它是平衡的当且仅当其中黑色格子与白色格子数量相同。

小杨想知道最大的平衡子矩形包含了多少个格子。

3.1.2 输入格式

第一行包含两个正整数 n,,含义如题面所示。

之后n行,每行一个长度为 m的 01串,代表网格图第i行格子的颜色,如果为0,则对应格子为白色,否则为黑色。

3.1.3输出格式

输出一个整数,代表最大的平衡子矩形包含格子的数量,如果不存在则输出 0。

样例解释3.1.5

对于样例1,假设(i,j)代表第i行第j列,最大的平衡子矩形的四个顶点分别为(1,2),(1,5),(4,2),(4,5)。

3.1.6数据范围

对于全部数据,保证有1≤n,m ≤10。

25分
登录后作答
27

3.2编程题 2

试题名称:宝箱

时间限制:1.0s

内存限制:512.0 MB


3.2.1题面描述

小杨发现了n几个宝箱,其中第i之个宝箱的价值是ai

小杨可以选择一些宝箱放入背包并带走,但是小杨的背包比较特殊,假设小杨选择的宝箱中最大价值为,最小价值为 y,小杨需要保证 x≤y≤k,否则小杨的背包会损坏。

小杨想知道背包不损坏的情况下,自己能够带走宝箱的总价值最大是多少。

3.2.2 输入格式

第一行包含两个正整数 n,k,含义如题面所示。

第二行包含n个正整数

a1,a2,...,an,代表宝箱的价值。

3.2.3 输出格式

输出一个整数,代表带走宝箱的最大总价值。

3.2.5 样例解释

在背包不损坏的情况下,小杨可以拿走两个价值为2的宝箱和一个价值为3的宝箱。

3.2.6数据范围

对于全部数据,保证有1≤n≤1000,0≤k≤1000,1≤ai≤ 1000。

25分
登录后作答