CCF GESP Python编程 五级认证真题 2024年6月

第 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()属于(
)。

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]

  A. 枚举算法

  B. 贪心算法

  C. 迭代算法

D. 递归算法

第 5 题 下面Python代码用于将输入金额换成最少币种组合方案,其实现算法是(    )。
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]
  A. 枚举算法

  B. 贪心算法

  C. 迭代算法

D. 递归算法

第 6 题 有关下面Python的代码,错误的是(    )。
def count_if(iterData,*,key=None):
    if key == None:
        return len(iterData)
    Count = 0
    for i in iterData:
        Count += bool(key(i))
    return Count
A. 执行 print(count_if(range(100))) 将输出 100

  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 题 在下面的Python代码中,最后一行用于输出小于0的list,横线处不能填入的代码是(   )。
def LT(a, b):
    return a < b
lstData = list(range(-100,100))
print(______________)
  A.[x for x in lstData if x < 0 ]

  B.list(filter(lambda x: x < 0, lstData))

  C.list(filter(LT(x,0), lstData))

D.[x for x in lstData if LT(x, 0)]

第 8 题 汉字的unicode编码界于0x4E00和0x9FA5之间。下面Python的代码用于读取红楼们和⽔浒传文本。如果要能完整阅读这两本小说,求出需要认识的汉字集合,横线处应填入代码是(   )。
shzFile = open("水浒传.txt", "r", encoding = "utf-8")
hlmFile = open("红楼梦.txt", "r", encoding = "utf-8") sSet = set(shzFile.read())
hSet = set(hlmFile.read()) shzFile.close() hlmFile.close()

print(____________)
  A.{x for x in (sSet + hSet) if 0x4E00 <= ord(x) <= 0x9FA5 }

  B.{x for x in (sSet | hSet) if 0x4E00 <= x <= 0x9FA5 }

  C.{x for x in (sSet + hSet) if 0x4E00 <= x <= 0x9FA5 }

D.{x for x in (sSet | hSet) if 0x4E00 <= ord(x) <= 0x9FA5 }

第 9 题 求回文子字符串,如:在ABCDDCBAXz中,DD、CDDC、BCDDCB、ABCDDCBA均为回文子字符串。下
面Python代码是其实现,横线处应填入的代码是(   )。
srcStr = input()
symList = [] #保存回文子字符串
for i in range(len(srcStr)):
for j in range(i + 2, len(srcStr) + 1): 
subStr = ____________
if subStr == ____________: 
symList.append(subStr)

for i in sorted(symList, key = lambda x: len(x)): 
print(i)
  A.  srcStr[i:j] , subStr[::-1]

  B.  srcStr[i:j] , subStr[j:i:-1]

  C.  srcStr[i+2:j] , subStr[j-1:i:-1]

D.  srcStr[i:j+2] , subStr[j-1:i-1:-1]

================================================

答案和更多内容请查看网站:【试卷中心 -- Python 其它】

网站链接 

青少年软件编程历年真题模拟题实时更新

================================================

  • 24
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

No0d1es

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值