2024.03中国计算机学会GESP等级考试python四级

标签:
普通图片版答案
2024-07-10
| 7页
| 108人阅读
| 0人下载

内容正文:

题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 答案 C C D D D C A B C D D B D A A Python 四级 2024 年 03 ⽉ 1 单选题(每题 2 分,共 30 分) 第 1 题 ⼩杨的⽗母最近刚刚给他买了⼀块华为⼿表,他说⼿表上跑的是鸿蒙,这个鸿蒙是?( ) A. ⼩程序 B. 计时器 C. 操作系统 D. 神话⼈物 第 2 题 中国计算机学会(CCF)在2024年1⽉27⽇的颁奖典礼上颁布了王选奖,王选先⽣的重⼤贡献是( )。 A. 制造⾃动驾驶汽车 B. 创⽴培训学校 C. 发明汉字激光照排系统 D. 成⽴⽅正公司 第 3 题 下⾯有关Python的说法,正确的是( )。 A. Python是低级程序设计语⾔,适合初学者 B. Python⼀门编译型语⾔ C. 和C/C++、Java⼀样,Python也是静态类型的语⾔ D. Python是脚本型程序设计语⾔ 第 4 题 有关Python语句 print(3,2,sep='#') 说法错误的是( )。 A. 3和2称之为位置参数 B. sep称之为命名关键字参数 C. 3和2称之为变参参数 D. sep参数可以放在3和2之前 第 5 题 下⾯Python代码执⾏后,第4⾏输出是( )。 A. [1, 2] [1, 2] [1, 2, 1, 2, 1, 2] B. [1, 100] [1, 100] [1, 100, 1, 100, 1, 100] C. [1, 100] [1, 2] [1, 2, 1, 2, 1, 2] D. [1, 100] [1, 100] [1, 2, 1, 2, 1, 2] 第 6 题 下⾯Python代码最后执⾏后最后⼀⾏输出是( )。 A. [2, 6, 10, 14, 18] [1, 3, 5, 7, 9] B. [1, 3, 5, 7, 9] [2, 6, 10, 14, 18] C. [2, 6, 10, 14, 18] [2, 6, 10, 14, 18] D. [1, 3, 5, 7, 9] [1, 3, 5, 7, 9] 第 7 题 下⾯Python代码执⾏后输出是( )。 A. 3 [1, 2, 3] B. 3 3 C. [1, 2, 3] [1, 2, 3] D. [1, 2, 3] 3 第 8 题 下⾯Python代码执⾏后输出是( )。 A. 3, 1 B. (3, 1) C. 3 D. 报错。因为第2⾏只能返回⼀个值,不可以是两个值 第 9 题 Python代码 print({(i,i ** 2) for i in range(5)}) 执⾏后可能输出是( )。 A. ((0, 0), (1, 1), (2, 4), (3, 9), (4, 16)) B. [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16)] C. {(2, 4), (4, 16), (0, 0), (1, 1), (3, 9)} D. {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} 第 10 题 下⾯Python代码执⾏,其输出是( )。 A. True True True True B. True False False True C. False False False False D. True True False True 第 11 题 在Python中,对list、tuple或str类型执⾏in运算,其时间复杂度均为( )。 A. B. C. D. ⾮上述备选答案 第 12 题 下列Python代码⽤于寻找1~100之间的因数最多的数及其因数,程序本意是factor变量存储形如{6:[1,2,3,6],8: [1,2,4,8]}。下⾯有关说法正确的是( )。 A. 程序第5⾏存在语法错误,因为append()的返回值为None B. 程序第5⾏存在语法错误,当某个数第1次作为factor的key时,其对应的值为append()的返回值即None,当该数 第2次作为factor的key时,factor.get(i,[])返回值为None不再是[],append()不能成其为函数 C. 程序第6⾏存在语法错误,因为max()不能有key参数 D. 程序第6⾏存在语法错误,max()虽然可以有key作为参数,但其中lambda函数存在语法错误 第 13 题 在如下Python代码中,假设变量zen代表很多字符此处仅为⽰例,代码实现按⼩写字母频次升序,如频次相 同则按字符ASCII升序输出,横线处应填⼊是( )。 A. alphaCount[c] += 1 题号 1 2 3 4 5 6 7 8 9 10 答案 B. alphaCount[c.lower()] += 1 C. alphaCount[c.lower] = alphaCount.get(c.lower,0) + 1 D. alphaCount[c.lower()] = alphaCount.get(c.lower(),0) + 1 第 14 题 下⾯Python代码能正确执⾏。在代码被执⾏之前,abc.txt已经存在,其⽂件字节数为100。下⾯有关说法, 正确的是( )。 A. abc.txt的内容将被覆盖,但由于没有写⼊操作,⽂件字节数为0 B. abc.txt的内容不会被覆盖,因为没有执⾏任何⽂件写⼊操作,abc.txt将继续原样存在 C. 原abc.txt的内容将被复制到abc.bak之中,然后覆盖abc.txt,由于没有写⼊操作,因此⽂件字节数为0 D. abc.txt将被删除,因为第⼀⾏代码执⾏后,原⽂件内容将被删除,但由于没有写⼊操作,因此abc.txt将不会存 在 第 15 题 下列Python代码执⾏后,将输出的是( )。 A. 0#2# B. 0#1#2# C. 1#2# D. 0# 2 判断题(每题 2 分,共 20 分) 第 1 题 任何⼀个for循环都可以转化为等价的while循环。( ) 第 2 题 ⼩杨今年春节回奶奶家了,奶奶家的数字电视要设置ip地址并接⼊到WIFI盒⼦才能收看节⽬,那这个WIFI盒 ⼦具有路由器的功能。( ) 第 3 题 ⼩杨在练习Python准备GESP考试的过程中,发现如果执⾏import os,可以通过os.system()启动外部程序,因 此也可以说Python是⼀个⼩型操作系统。( ) 第 4 题 在Python中,任何⼀个while循环都可以转化为等价的for循环( )。 第 5 题 在Python中,list类型有sort()函数,但tuple、set和dict则没有sort()函数。( ) 第 6 题 当对list和tuple类型执⾏in运算时,其时间复杂度为 O(N) 。( ) 第 7 题 在Python中, [i*2 for i in range(10) ]*3 是合法的表达式。( ) 第 8 题 在下⾯Python代码中,⽂本⽂件abc.txt共有10⾏,每⾏由1个英⽂半角字母组成。第5⾏代码执⾏后其输出为 10。( ) 第 9 题 在Python中,已执⾏ tpl = ([1,2],[3,4],[5,6]) ,如果执⾏ tpl[1] = [99,100] 将报错,⽽执⾏ tpl[1][1] = [99,100] 则不会报错。( ) 第 10 题 在Python中,表达式 len(set("China")^set("china")) 的值为2。( ) 3 编程题(每题 25 分,共 50 分) 3.1 编程题 1 试题名称:相似字符串 3.1.1 问题描述 对于两个字符串 和 ,如果 可以通过删除⼀个字符,或插⼊⼀个字符,或修改⼀个字符变成 ,那么我们说 和 是相似的。 ⽐如 apple 可以通过插⼊⼀个字符变成 applee ,可以通过删除⼀个字符变成 appe ,也可以通过修改⼀个字符 变成 bpple ,因此 apple 和 applee 、 appe 、 bpple 都是相似的。但 applee 并不能通过任意⼀个操作变成 bpple ,因此它们并不相似。 特别地,完全相同的两个字符串也是相似的。 给定 组 ,请你分别判断他们是否相似。 3.1.2 输入描述 第⼀⾏⼀个正整数 。 接下来 ⾏,每⾏两个⽤空格隔开的字符串 和 。 保证 , 的长度不超过 。保证 和 只包含⼩写字母。 3.1.3 输出描述 输出 ⾏,对于每组 ,如果它们相似,则输出 similar ,否则输出 not similar 。 3.1.4 特别提醒 在常规程序中,输⼊、输出时提供提⽰是好习惯。但在本场考试中,由于系统限定,请不要在输⼊、输出中附带任 何提⽰信息。 3.1.5 样例输入 1 3.1.6 样例输出 1 3.1.7 参考程序 5 apple applee apple appe apple bpple applee bpple apple apple 1 2 3 4 5 6 similar similar similar not similar similar 1 2 3 4 5 def is_similar(A, B): m, n = len(A), len(B) if abs(m - n) > 1: return False if m == n: diff = sum(1 for i in range(m) if A[i] != B[i]) return diff <= 1 else: shorter = A if m < n else B longer = B if m < n else A i, j = 0, 0 diff = 0 while i < len(shorter) and j < len(longer): if shorter[i] != longer[j]: diff += 1 if diff > 1: return False j += 1 else: i += 1 j += 1 return True T = int(input()) for _ in range(T): A, B = input().split() if is_similar(A, B): print("similar") else: print("not similar") 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3.2 编程题 2 试题名称:做题 3.2.1 题目描述 ⼩杨同学为了提⾼⾃⼰的实⼒制定了做题计划,在第 天时,他必须要完成 道题,否则他就会偷懒。 ⼩杨同学现在找到了⼀个题库,⼀共有 套题单,每⼀套题单中有⼀定数量的题⽬。但是他⼗分挑剔,每套题单他 只会使⽤⼀次,每⼀天也只能使⽤⼀套题单⾥的题⽬,之后那套题单就会被弃之不⽤。对于每套题单,他不必完成 题单内所有的题。 那么问题来了,⼩杨同学最多会做题⼏天才偷懒呢? 3.2.2 输入格式 第⼀⾏,1个数为 ,表⽰有多少套题单。 第⼆⾏,n个整数 ,分别表⽰每套题单有多少道题。 3.2.3 输出格式 输出⼀⾏,⼩杨同学偷懒前最多做题天数。 3.2.4 样例1 对于全部数据,保证有 。 3.2.5 参考程序 4 3 1 4 1 1 2 31 n = int(input()) A = list(map(int, input().split())) A = sorted(A) day, idx = 1, 0 while idx < n: if A[idx] >= day: day += 1 idx += 1 print(day - 1) 1 2 3 4 5 6 7 8 9 10

资源预览图

2024.03中国计算机学会GESP等级考试python四级
1
2024.03中国计算机学会GESP等级考试python四级
2
2024.03中国计算机学会GESP等级考试python四级
3
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。