CCF GESP2026.3-python编程四级

标签:
普通图片版答案
| 9页
| 315人阅读
| 4人下载

内容正文:

时真机架 GESP CCF编程能力等级认证 Grade Examination of Software Programming Python 四级 2026年03月 1单选题(每题2分,共30分) 题号123456789101112131415 答案B D CC B C B D C B C B A B D 第1题2026年春节联欢晚会上一个武术表演节目《武B0T》。节目中多个人形机器人会表演空翻,它们落地可能会 有微微踉跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作 一个计算机系统,那么在该计算机系统中下面哪一项不能作为输入设备()。 ☐A.用于检测重心的重力传感器 ☐B.预装的AI算法程序 ☐C.接收动作指令的遥控器 口D.拍摄其他机器人的摄像头 第2题下面代码用来找出输入的N个正整数中最大的一个。如果将代码段用流程图来表示,则L1标记的代码行 应该使用的图形是()。 1 Max 0 N int(input()) 3 4 while(N) 5 val int(input()) 6 if val Max:#L1 7 Max val N-=1 9 10 print(Max) ☐A.圆形框 ☐B.椭圆形框 口C.平行四边形框 ☐D.菱形框 第3题执行以下Python代码后,输出的结果是?() 1 matrix=[1,2,3],[4,5,6],[7,8,9] 2 total 0 for row in matrix: 4 for element in row: 5 if element 2 ==0: 6 total +element > print(total) 第1页/共9页 ☐A.4 ☐B.10 ☐C.20 ☐D.25 第4题执行以下Python代码,说法正确的是?() 1tUp=(1,[2,3],4) 2tup[1]=[5,6] 口A.元组被成功修改为(1,[5,6],4) ☐B.代码可以执行,但元组内容未改变 □C.拋出TypeError异常 ☐D.元组被修改为(1,2,3,4,5,6) 第5题执行以下Python代码后,输出的结果是?() 1 words ["hello","world","python"] 2 result [char for word in words for char in word if char in 'aeiou'] 3 print(len(result)) ☐A3 ☐B.4 ☐c.5 □D.6 第6题函数定义def func(*args):pass中的*args会将传入的参数打包成什么类型: ☐A.列表 ☐B.字典 口C.元组 □D.集合 第7题在嵌套函数中,需要修改外层函数(非全局作用域)的变量,应使用哪个关键字?() ▣A.global ☐B.nonlocal ☐C.local ☐D.outer 第8题执行以下Python代码后,输出的结果是?() 第2页/共9页 1 def process_data(data): result [ for item in data: 4 if item 0: 5 result.append(item 2) 6 elif item 0: result.append(abs(item)) 8 else: 9 result.append(0) 10 return result 11 12 13 output process_data([-2,0,3,-1]) 14 print(sum(output)) ☐A.12 ☐B.6 ▣c.8 ☐D.9 第9题关于lambda匿名函数,以下描述正确的是?() ☐A.lambda匿名函数可以包含多个表达式,用分号分隔 口B.lambda匿名函数必须有参数 ☐C.lambda匿名函数可以接受多个参数,但只能有一个表达式 ☐D.lambda匿名函数必须有return语句 第10题文件text.txt的内容如下: 1 Python is a programming language. 2 Python is easy to learn. 以下程序统计单词"Python'"在文件中出现的次数。Pythor后面是空格或行尾,且不跟标点。请补全代码。() 1 count =0 2 with open("text.txt","r")as f: 3 content=f.-----#补全代码 words content.split() for word in words: 6 if word =="Python": 7 count +1 8 print("Python出现次数:",count) ☐A.readlines() ☐B.read) ☐c.readline() ☐D.readlines 第11题以下代码的时间复杂度是?() 1 def func(n): 2 SUm =0 3 for i in range(n): for j in range(i): sum +=j 第3页/共9页 ☐A.0(1) ☐B.O(n) ☐c.0(n2) ☐D.O(log n) 第12题执行以下ytho代码后,输出的结果是?() 1 try: 2 print(1,end="") 3 raise ValueError("x") except ValueError as e: print(2,end="") 6 else: 7 print(3,end="") 8 finally: print(4,end="") ☐A.14 ☐B.124 ☐C.1234 ☐D.程序报错 第13题以下代码使用插入排序对列表进行升序排序。空白处应填入?() 1 def insertion_sort_optimized(arr): 2 n len(arr) for i in range(1,n): key=arr[i]#当前待插入元素 5 j=i-1 6 whilej>=0 and arr[j]key: 7 arr[j+1]=arr[j]#元素后移 8 j-=1 #插入元素到正确位置 ☐A.arr[j+1]=key ☐B.arr[j-1]=key ☐C.key=arr[j] ☐D.arr[i]=key 第14题阅读以下Python代码,下列说法正确的是?() 1 n int(input()) 2 3 def is_palindrome(s): 4 return s =s[::-1] 5 6 max_palindrome =0 7 for i in range(10**(n 1),10 *n): for j in range(i,10 *n): 9 product =i*j 10 if is_palindrome(str(product))and product max_palindrome: 11 max_palindrome product 12 print(max_palindrome) 口A.找出所有n位数 第4页/共9页 ☐B.找出由两个n位数相乘得到的最大回文数 口C.找出所有回文数 □D.计算两个n位数乘积的最大值 第15题以下代码实现了根据分数返回等级(A:90-100,B:80-89,C:70-79,D:60-69,F:0-59)的功能,请选择正确的 选项填入①②处。() 1 grade._map={90:"A",80:"B",70:"c",60:"D",0:"F"} 2 3 def get_grade(score): 4 if score 0 or score 100: return"无效分数" 6 for key in sorted(grade_map.keys(),reverse=True): 7 if score >key: return__--_@----- 9 10 score int(input()) 11 grade get_grade(score) 12 print(f"分数{score}的等级是{_--②--}") ☐A.①grade_.map[score]②grade ☐B.①key②get_grade(score) ☐C.①grade_.-map[key]②score ☐D.①grade_map[key]②grade 2判断题(每题2分,共20分) 题号12345678910 答案√××√√×××√× 第1题小明的妈妈最近刚刚给他买了一块电话手表,除了可以看时间,小明也可以用它和妈妈打电话、收发信息, 那么可以推测这块手表中装有一款特定操作系统。() 第2题在Python语言中,一个集合可以作为另一个集合的元素。 第3题执行以下Python代码后,输出的结果是<class'set'>。 1 my_set ={i:j for i,j in zip([1,2],[3,4])} 2 print(type(my_set)) 第4题执行以下Python代码后,输出的结果是2010。 1 def func(a,b): 2 a a b 3 b a b 4 aa b return a,b 6 7 8a,b=func(10,20) 9 print(a,b) 第5题执行以下Python代码后,输出的结果是[6,7]。 1 print(list(filter(lambda x:x 5,[3,6,7,2]))) 第5页/共9页 第6题执行以下Python代码后,输出的结果是789 456'。 1 with open('test.txt','w')as f: 2 f.write('123 456') 3 with open('test.txt','r+')as f: 4 f.seek(0,2) f.write('789) 6 f.seek(o) print(repr(f.read())) 第7题下面这段程序的时间复杂度为平方阶O()。 def func(n): 2 for i in range(n): 3 for j in range(n): 1fi%2==0: break 第8题执行以下Python代码后,会抛出异常ZeroDivisionError。 1 data {'a':1} 2 index int(input()) 3 print(data['b']index) 第9题在对列表进行排序时,sorted()函数会返回一个新的排序后的列表,不修改原列表,而sort()方法会直 接修改原列表,返回值为None。 第10题阅读以下递推算法的Pythor代码,执行后的输出结果是13。 1a,b=1,2 2 for i in range(3): 3 a,bb,a b 4 print(b) 3 编程题(每题25分,共50分) 3.1 编程题1 ·试题名称:山之谷 。时间限制:1.0s 。内存限制:512.0MB 3.1.1题目描述 现有一片山地,可以视为一个N行M列的网格图,第i行j列的海拔为h 如果一个单元格的海拔不高于其所有相邻单元格(相邻包括上、下、左、右、左上、右上、左下、右下,最多8个 方向)的海拔,则称该单元格为山谷。 请你数一数该片山地中有多少山谷。 第6页/共9页 3.1.2输入格式 第一行包含2个整数N,M,表示山地的大小。 之后N行,每行包含M个整数h,l,h,2,·,h,M,表示海拔。 3.1.3输出格式 输出1行,包含1个整数C,表示山谷的数量。 3.1.4样例 3.1.4.1输入样例 135 2 76679 3 65676 465789 3.1.4.2 输出样例 13 3.1.5样例解释 样例1如图所示,绿色单元格代表山谷: 76 6 79 6 5 6 76 6 5789 3.1.6数据范围 保证1≤N,M≤100,1≤h≤105。 第7页/共9贡 3.1.7参考程序 1#输入行列数 2 n,m map(int,input().split()) 3 4 #输入每一行的海拔 5 h=[] 6 for i in range(n): row list(map(int,input().split())) h.append(row) 9 10 ans =0 11 #先遍历行 12 for i in range(n): 13 #再遍历列 14 for j in range(m): 15 ok True 16 #遍历周边8个格子 17 for k in range(-1,2): 18 for l in range(-1,2): 19 #边界判定,不能超列表边界 20 if 0 <i+k n and 0 <=j+<m and h[i k][j+]<h[i][]: 21 ok False if(ok): 23 ans +=1 24 print(ans) 3.2 编程题2 ·试题名称:礼盒排序 。时间限制:1.0s 。内存限制:512.0MB 3.2.1题目描述 商店推出了许多礼盒,每个礼盒中包含k件商品,每件商品都有一个价格。 现在需要对这些礼盒进行排序,排序规则如下: 1.先按礼盒总价格从小到大排序; 2.如果总价格相同,按礼盒中最贵商品的价格从小到大排序; 3.如果仍然相同,按礼盒中最便宜商品的价格从小到大排序; 4.如果仍然相同,按礼盒编号从小到大排序。 请输出排序后的礼盒编号。 3.2.2输入格式 第一行包含两个整数和k,分别表示礼盒数量和每个礼盒中商品的数量。 接下来n行,每行包含k个整数,第i行表示第i个礼盒中各商品的价格。 第8页/共9页 3.2.3输出格式 输出一行,包含排序后的礼盒编号(编号从1开始),用空格分隔。 3.2.4样例 3.2.4.1输入样例 143 2352 3415 4224 5343 3.2.4.2 输出样例 13421 3.2.5样例解释 4个礼盒分别为: 编号商品价格总价最大值最小值 352 9 5 2 2 415 10 9 224 P 2 4 343 10 3 排序过程: 1.按总价排序,3号礼盒总价最小; 2.其余总价均为10,再按最大值排序,4号最大值更小; 3.1号和2号最大值相同,再按最小值排序,2号更小。 最终顺序为:3421 3.2.6数据范围 保证1≤n≤103,1≤k≤10,商品价格≤104。 3.2.7参考程序 1 n,k map(int,input().split()) 2 3 v=[] 4 5 for i in range(n): 6 nums list(map(int,input().split())) s sum(nums) 8 mx max(nums) 9 mn min(nums) 10 v.append((s,mx,mn,i+1)) 11 12 v.sort() 13 14 for i in range(n): 15 print(v[i][3],end="m if i==n -1 else "" 16 print() 第9页/共9页

资源预览图

CCF GESP2026.3-python编程四级-第1页
1
CCF GESP2026.3-python编程四级-第2页
2
CCF GESP2026.3-python编程四级-第3页
3
CCF GESP2026.3-python编程四级-第4页
4

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。