题号123456789101112131415
答案DBACBDCDAADBCBC
Python 五级
2024 年 06 月
1单选题(每题 2 分,共 30 分)
第 1 题 在Python中,print((c for c in "GESP"))的输出是( )。
A. ('G', 'E', 'S', 'P')
B. ['G', 'E', 'S', 'P']
C. {'G', 'E', 'S', 'P'}
D. 以上选项均不正确
第 2 题 下面有关快速排序的说法,错误的是( )。
A. 快速排序算法通常采用递归实现。
B. 快速排序算法是一种稳定排序算法。
C. 如果被排序数组或者list已排序或逆序,其时间复杂度是 。
D. 快速排序是一种原地(in-place)排序算法。
第 3 题 内排序有不同的类别,从排序算法的实现思路上考虑,下面哪种排序算法和插入排序是同一类?( )
A. 希尔排序
B. 快速排序
C. 堆排序
D. 冒泡排序
第 4 题 下面Python代码用于求斐波那契数列,该数列第1、2项为1,以后各项均是前两项之和。函数Fibo()属于(
)。
A. 枚举算法
B. 贪心算法
C. 迭代算法
D. 递归算法
第 5 题 下面Python代码用于将输入金额换成最少币种组合方案,其实现算法是( )。
A. 枚举算法
B. 贪心算法
C. 迭代算法
D. 递归算法
第 6 题 有关下面Python的代码,错误的是( )。
A. 执行print(count_if(range(100)))将输出100
def Fibo(N):
if N == 1 or N == 2:
return 1
fiboList = [1, 1]
for i in range(2, N):
fiboList.append(fiboList[i - 1] + fiboList[i - 2])
return fiboList[N-1]
1
2
3
4
5
6
7
8
9
def findCoins(coins, Money):
coins_used = []
for coin in coins:
while Money >= coin:
coins_used.append(coin)
Money -= coin
return coins_used
coins = [100, 50, 20, 10, 5, 2, 1] #货币种类,单位相同
M = int(input()) #输入换算的金额
coins_needed = find_coins(coins, M)
result = [(c,coins_needed.count(c)) for c in coins]
result = [x for x in result if x[1] > 0]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def count_if(iterData,*,key=None):
if key == None:
return len(iterData)
Count = 0
for i in iterData:
Count += bool(key(i))
return Count
1
2
3
4
5
6
7
8
B. 执行print(count_if(range(-10,10), key = abs))将输出19
C. 执行print(count_if(range(-100,10),key = lambda x:x > 5))将输出4
D. 代码Count += bool(key(i))存在错误
第 7 题 在
GESP 6月认证 Python 五级真题,2024年6月GESP认证Python编程五级真题试卷及答案,gesp真题,Python真题,少儿编程题库