试卷 2024年3月GESP认证Python编程五级真题试卷
2024年3月GESP认证Python编程五级真题试卷
选择题
第 1 题    单选题

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

A.
(yr%400==0)or(yr%4==0)
B.
( yr%400==0)or(yr%4==0 and yr%100!=0)
C.
( yr%400==0)and(yr%4==0)
D.
(yr%400==0)and(yr%4==0 and yr%100!=0)
第 2 题    单选题
在TCP协议中,完成连接建立需要通过( )握手。
A.
一次
B.
二次
C.
三次
D.
四次
第 3 题    单选题
下面有关排序算法的说法,正确的是( )
A.
快速排序是稳定排序
B.
Python中list类型的sort()是稳定排序
C.
冒泡排序是不稳定排序
D.
归并排序是不稳定排序
第 4 题    单选题
不同的排序算法,其空间复杂度也不同。与冒泡法排序空间复杂度相同的是( )
A.
归并排序
B.
快速排序
C.
计数排序
D.
插入排序
第 5 题    单选题

下面Python代码中,aFactorial()和bFactorial()用于求正整数的阶乘。有关说法,错误的是( )。

A.
aFactorial( )用循环方式,bFactorial()递归方式
B.
bFactorial( )更加符合数学定义,直观易于理解,而aFactorial()需要将数学定义转换为计算机程序实现
C.
当N值较大时,aFactorial( )执行效率更高,而bFactorial()因为有多次函数调用,效率将降低,且N如果较大, 将可能导致不能使用
D.
bFactorial( )因为代码量较少,没有循环,因此其执行效率更高
第 6 题    单选题

有关下面Python代码的说法,正确的是( )。

A.
代码中qSort()函数不是稳定排序
B.
代码中qSort()函数空间复杂度为O(1)
C.
代码中qSort()函数是就地排序
D.
代码中qSort()函数是外排序,因为排序后的结果保存在新的内存空间即外空间
第 7 题    单选题

上题不能支持其他常见类型的排序,如实现该支持,横线处分别应填写代码是( )。

A.
isinstance(iterData, list)==False , st==[x for x in iterData]
B.
type(iterData)==list , lst=[x for x in iterData]
C.
isinstance(iterData, list) , lst=list(iterData)
D.
type(iterData) !=list , lst=list(iterData)
第 8 题    单选题

上上题qSort()函数不支持排序规则函数,形如sorted()函数的key参数,为实现类似目标,横线处分别应填入 代码是( )。

A.
fx==None,fx(x)>=fx(Pivot),fx(x)<fx(Pivot)
B.
fx==None,fx(x)>=Pivot,fx(x)<Pivot
C.
fx !=None,fx(x)>=fx(Pivot),fx(x)<fx(Pivot)
D.
fx !=None,fx(x)>=Pivot,fx(x)<Pivot
第 9 题    单选题

下面的Python代码中merge()函数的两个参数均为list类型,且是已按相同规则排序的数据。下面有关说法中, 正确的是( )。

A.
第3-7行代码将导致死循环,因为没有循环变量及其改变
B.
第5行和第7行代码执行后,result的成员值为None
C.
第9行和第11行是否被执行,与arr1和arr2的成员值有关,如果值转换为False,将不会被执行
D.
merge()函数的代码没有错误,执行后参数arr1和arr2将合并成新的list保存到result之中,且有序
第 10 题    单选题

阅读下面Python代码,横线处应填入( )。

A.

isOdd,isEven

B.
isOdd,isEven(10)
C.
isOdd(10),isEven
D.
isOdd(10),isEven(10)
第 11 题    单选题

下面Python代码的平均时间复杂度是( )

A.

O(N)

B.

O(logN)

C.

O(NlogN)

D.

O(N2)

第 12 题    单选题

有关下面Python代码的说法,正确的是( )。

A.
代码采用二分法查找,仅对有序list有效,不适用于set、dict等
B.
在函数内定义函数,存在多次调用多次定义,因此存在错误
C.
第16行代码__bSearch()最后一个参数val应为queryVal
D.
第16行代码应为return __bSearch
第 13 题    单选题
在上题的算法中,其时间复杂度是( )。
A.

O(N)

B.

O(logN)

C.

O(NlogN)

D.

O(N2)

第 14 题    单选题

下面的Python代码中,idList变量为list类型,保存有大量身份编码,倒数第二位如为偶数,则为女性,奇数为男性,从第7位开始连续8位为出生年月日,年为4位数月和日均为两位数。编码统计每天有几位男生生日女生生日。横线处应填入代码是( )。

A.
(1, 0)if gender==1 else(1, 0),(0, 1)
B.
(0,1)if gender==1 else(1,0),(0,0)
C.
0,1 if gender==1 else 1,0 , 0,0
D.
(0,1)if gender==1 else (1,0) ,0,0
第 15 题    单选题

有关下面Python代码的说法错误的是( )。

A.
代码中第17行执行后,firstNode(第一个节点)的下一个节点指向第3个节点,即secondNode(第2个节点)的下一 个
B.
代码中第18行执行后,第3个节点的Previous(前向)指向第1个节点(firstNode)
C.
仅仅通过firstNode节点,不能访问第2个节点,第2个节点已不在内存中存在,自动释放所占内存
D.
在第18行后,执行del secondNode后,第2个节点所占内存才会被释放。仅仅执行先有第16-18行,第2个节点内存不会被释放。
判断题
第 16 题    判断题
一个算法设计合理的话是可以没有输出的,比如冒泡排序就不输出任何信息( )。
A.
正确
B.
错误
第 17 题    判断题
流程图描述算法的能力是有限的,比如它无法对能够提前终止的循环给出等价描述 ( ) 。
A.
正确
B.
错误
第 18 题    判断题
归并排序的空间复杂度是O(N)。( )
A.
正确
B.
错误
第 19 题    判断题
在Python中,当对dict类型进行in运算查找元素是否存在时,其时间复杂度为 O(1) ,set类型也如此。( )
A.
正确
B.
错误
第 20 题    判断题

在以下Python代码中,执行后输出是 5=>4=>3=>2=>1=>2=>3=>2=>1=>5 。( )

A.
正确
B.
错误
第 21 题    判断题
贪心算法虽然可能不是局部最优,但可达到全局最优。 ( )
A.
正确
B.
错误
第 22 题    判断题
Python内置函数sorted()可对支持for-in循环的数据类型排序。( )
A.
正确
B.
错误
第 23 题    判断题

冒泡排序是就地排序,空间复杂度为O(1) 。( )

A.
正确
B.
错误
第 24 题    判断题

下面的Python代码能实现N的质因数分解,类似埃氏筛法。( )

A.
正确
B.
错误
第 25 题    判断题
Python代码print(sorted(list(range(10,20)), key = hex))执行后将输出[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]。( )
A.
正确
B.
错误
编程题
第 26 题    问答题

试题名称:成绩排序 

3.1.1 问题描述 

有N名同学,每名同学有语文、数学、英语三科成绩。你需要按如下规则对所有同学的成绩从高到低排序: 

1.比较总分,高者靠前;

2.如果总分相同,则比较语文和数学两科总分,高者靠前; 

3.如果仍相同,则比较语文和数学两科的最高分,高者靠前; 

4.如果仍相同,则二人并列。 

你需要输出每位同学的排名,如遇x人并列,则他们排名相同,并留空后面的x-1个名次。例如,有3名同学并列第1,则后一名同学自动成为第4名。 

3.1.2 输入描述 

第一行一个整数N,表示同学的人数。 

接下来N行,每行三个非负整数ci,mi,ei分别表示该名同学的语文、数学、英语成绩。 

保证0≤ci,mi,ei≤150。 

3.1.3 输出描述 

输出N行,按输入同学的顺序,输出他们的排名。 

注意:请不要按排名输出同学的序号,而是按同学的顺序输出他们各自的排名 

3.1.4 特别提醒 

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。

3.1.5 样例输入1

3.1.6 样例输出1

3.1.7 数据规模 

对于30的测试点,保证N≤100,且所有同学的总分各不相同。 

对于所有测试点,保证2≤N≤104

第 27 题    问答题

试题名称:B-smooth数

3.2.1 题面描述 

小杨同学想寻找一种名为B-smooth数的正整数。 

如果一个正整数的最大质因子不超过B,则该正整数为B-smooth 数。 

小杨同学想知道,对于给定的n和B,有多少个不超过n的B-smooth 数。 

3.2.2 输入格式 

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

3.2.3 输出格式 

输出一个非负整数,表示不超过n的B-smooth 数的数量。 

3.2.4 样例1

3.2.5 样例解释 

在不超过10的正整数中,3-smooth数有{1,2,3,4,6,8,9},共7个。 

3.2.6 数据范围

对于全部数据,保证有1≤n≤106,1≤B≤106
答题卡
选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
判断题
编程题
26 27
题目总数:27
总分数:100
时间:120分钟