理论卷2023年12月GESP等级认证(Python) · 五级

GESP Python 5级 2023.12

满分 100 · 及格 60 · 时长 60 分钟 · 共 27 题 (单选15 / 判断10 / 编程题2)
试卷阅览 · 免费预览前 10 题 · 交卷后可查看答案与解析
1
单选题号 #10053
分值 2

通讯卫星在通信网络系统中主要起到()的作用。

A

信息过滤

B

信号中继

C

避免攻击

D

数据加密

2
单选题号 #10054
分值 2

小杨想编写一个判断任意输入的整数N是否为素数的程序,下面哪个方法不合适?

A

埃氏筛法

B

线性筛法

C

二分答案

D

枚举法

3
单选题号 #10055
分值 2

内排序有不同的类别,下面哪种排序算法和冒泡排序是同一类?

A

希尔排序

B

快速排序

C

堆排序

D

插入排序

4
单选题号 #10056
分值 2

下面Python代码用于求斐波那契数列,该数列第1、2项为1,以后各项均是前两项之和。下面有关说法错误的是

def fiboA(N):
 if N == 1 or N == 2:
 return 1
 return fiboA(N - 1) + fiboA(N - 2)

def fiboB(N):
 if N == 1 or N==2:
 return 1
 
 last2,last1=1,1
 for i in range(2,N):
 nowval = last1 + last2
 last2,last1 = last1,nowVal
 return nowVal

A

fiboA( ) 用递归方式, fiboB() 循环方式

B

fiboA( ) 更加符合斐波那契数列的数学定义,直观易于理解,而 fiboB() 需要将数学定义转换为计算机程
序实现

C

fiboA( ) 不仅仅更加符合数学定义,直观易于理解,且因代码量较少执行效率更高

D

fiboB( ) 虽然代码量有所增加,但其执行效率更高

5
单选题号 #10057
分值 2

下面Python代码以递归方式实现合并排序,并假设 merge(left,right) 函数能对有序(同样排序规则)的
left 和 right 排序。横线处应填上代码是

def mergesort(listData):
 if len(listData) <= 1:
 return listData
 Middle = len(listData)//2
 Left,Right = _________________________
 return merge(Left,Right)

A

mergeSort(listData[:Middle]), mergeSort(listData[Middle:])

B

mergeSort(listData[:Middle-1]), mergeSort(listData[Middle+1:])

C

mergeSort(listData[:Middle]), mergeSort(listData[Middle+1:])

D

mergeSort(listData[:Middle-1]), mergeSort(listData[Middle:])

6
单选题号 #10058
分值 2

阅读下面的Python代码,执行后其输出是

stepCount = 0
def countIt(Fx):
 def wrapper(*args,**kwargs):
 rtn = Fx(*args,**kwargs)
 global stepCount
 stepCount +=1
 print(stepCount,end="->")
 return rtn
 return wrapper
@countIt
def fracA(N):
 rtn = 1
 for i in range(1,N+1):
 rtn *=i 
 return rtn;

@countIt
def fracB(N):
 if N == 1:
 return 1
 return N*fracB(N-1)

print(fracA(5),end="")
print("",end="")
print(fracB(5))


A

1->1202->120

B

1->1201->120

C

1->1201->2->3->4->5->120

D

1->1202->3->4->5->6->120

7
单选题号 #10059
分值 2

下面的Python用于对 lstA 排序,使得偶数在前奇数在后,横线处不应填入

def isEven(N):
 return N % 2 == 0

lstA = list(range(1,100))
lstA.sort(_________________)

A

key = not isEven

B

key = lambda x: isEven(x), reverse = True

C

key = isEven, reverse = True

D

key = lambda x: not isEven(x)

8
单选题号 #10060
分值 2

下面的Python代码用于排序 sA 字符串中每个字符出现的次数(字频), sA 字符串可能很长,此处仅为示例。排序要求是按字频降序,如果字频相同则按字符的ASCII升序,横线处应填入代码是

sA = "Simple is better than complex"
charCount={}#每个字符对应数量
for c in sA:
 charCount[c] = charCount.get(c,0) + 1
print(sorted(__________________________
))

A

charCount, key = lambda x:(-x[1],x[0])

B

charCount.items(), key = lambda x:(-x[1],ord(x[0]))

C

charCount.items(), key = lambda x:(x[1],-ord(x[0]))

D

触发异常,不能对字典进行排序。

9
单选题号 #10061
分值 2

有关下面Python代码正确的是

isEven = lambda x:x % 2 == 0
def isOdd(N):
 return N % 2 == 1
print(type(isEven) == type(isOdd),isEven(10),isOdd(10))

A

True True False

B

False True False

C

False False True

D

触发异常

10
单选题号 #10062
分值 2

下面的Python代码实现对 list 的快速排序,有关说法,错误的是

def qSort(lst):
 if len(lst) pivot]
 return__________________

A

qSort(less) + qSort(greater) + [pivot]

B

[pivot] + qSort(less) + qSort(greater)

C

qSort(less) + [pivot] + qSort(greater)

D

qSort(less) + pivot + qSort(greater)

🔒

已解锁前 10 题

第 11~27 题(共 17 题)可在考试中作答
本卷为普通试卷:注册用户每题扣 1 积分(每日登录送 30 体验积分),交卷后查看答案与解析
海小星AI平台海小星AI平台

点亮AI梦想,编程未来之星。专业的青少年AI编程教育平台。

课程方向

  • AIGC人工智能
  • Scratch图形化
  • Python编程
  • C++/NOIP竞赛

联系我们

  • 北京市西城区万博苑7号楼3层F28室
  • +86-010-83553010
  • contact@seanova.cn

© 2026 海小星AI平台|京ICP备2022032747号

隐私政策服务条款