2025年12月GESP认证Python四级真题(含答案和解析)_第1页
2025年12月GESP认证Python四级真题(含答案和解析)_第2页
2025年12月GESP认证Python四级真题(含答案和解析)_第3页
2025年12月GESP认证Python四级真题(含答案和解析)_第4页
2025年12月GESP认证Python四级真题(含答案和解析)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2025年12月GESP认证Python四级真题(含答案和解析)一、单选题(每题2分,共30分)。1.近日,空中客车公司表示,约6000架空客A320系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软件。空客表示,在对一起飞行事故进行分析后,表明强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,导致判断失误,进而可能引发飞行异常。在这里的飞行控制系统中,执行判断的部件最可能是下面的()。A.辐射传感器B.处理器C.内存单元D.输出设备答案:B。解析:题目描述太阳辐射可能影响飞行控制系统的判断,执行判断的部件是处理器(CPU)。A:辐射传感器,用于检测辐射,不负责判断。C:内存单元,用于存储数据,不执行判断。D:输出设备,用于输出信息,不执行判断。2.小杨最近为了备考GESP,开始看网络上关于网络知识的视频。其中提到计算机网络系统有不同的划分标准,其中之一就是按照地理覆盖的范围来划分。那他平时上学所在的教学楼内的网络是一个()。A.PANB.LANC.MAND.WAN答案:B。解析:教学楼内的网络覆盖范围较小,属于局域网(LAN)。A:PAN(个人区域网),范围更小,如蓝牙。C:MAN(城域网),覆盖一个城市。D:WAN(广域网),覆盖范围更广,如互联网。3.对于列表my_list=[['a','b'],1,2],执行哪项操作可以生成新列表['a','b','c']?A.new_list=my_list[0].append('c')B.new_list=my_list[0]+['c']C.new_list=my_list[0].extend(['c'])D.new_list=my_list.pop(0).append('c')答案:B。解析:my_list=[['a','b'],1,2],要生成新列表['a','b','c'],需要取my_list[0]并添加'c'。A:my_list[0].append('c')会修改原列表,返回None,赋值给new_list得到None。B:my_list[0]+['c']创建新列表['a','b','c'],正确。C:my_list[0].extend(['c'])修改原列表,返回None。D:my_list.pop(0)返回['a','b'],然后.append('c')返回None。4.执行以下Python代码后,其输出是?()。a=[1,2,[3,4]]b=a[:]b[0]=10b[2][0]=30print(a)A.[1,2,[3,4]]B.[10,2,[30,4]]C.[1,2,[30,4]]D.[10,2,[3,4]]答案:C。解析:b=a[:]是浅拷贝,b[0]=10修改整数,不影响a;但b[2][0]=30修改嵌套列表,因为浅拷贝只拷贝外层,嵌套列表是引用,所以a[2][0]也变为30。A:未反映修改。B:a[0]未被修改。C:正确。5.执行以下Python代码后,输出的结果是?()。matrix=[[1,2,3],[4,5,6],[7,8,9]]result=[matrix[i][i]foriinrange(len(matrix))]print(result)A.[1,2,3]B.[1,5,9]C.[3,5,7]D.[1,4,7]答案:B。解析:matrix[i][i]取主对角线元素,即[1,5,9]。A:第一行。C:副对角线。D:第一列。6.执行以下Python代码后,输出的结果是?()。defmodify(s):s=s.upper()returnstext="hello"modify(text)print(text)A.helloB.HELLOC.NoneD.报错答案:A。解析:函数调用(值传递),字符串不可变,函数内s=s.upper()创建了新对象,原变量text不变。B:需要text=modify(text)。C:print(text)不会输出None。D:不会报错。7.执行下面Python代码时,哪条调用会报错?()。deffunc(*args,**kwargs):print(args,kwargs)A.func(1,2,x=3,y=4)B.func(a=1,b=2,3,4)C.func(1,2,[3,4])D.func(*[1,2],**{'x':3})答案:B。解析:函数定义func(*args,**kwargs),表示先接收位置参数,再接收关键字参数。A:正确,args=(1,2),kwargs={'x':3,'y':4}。B:错误,关键字参数a=1,b=2必须在位置参数3,4之后,但这里关键字参数在前,位置参数在后,语法错误。C:正确,args=(1,2,[3,4]),kwargs={}。D:正确,使用解包。8.执行以下Python代码后,输出的结果是?()。deffunc(*args):returnsum(args)print(func(1,2,*[3,4]))A.10B.6C.7D.报错答案:A。解析:func(1,2,*[3,4])等价于func(1,2,3,4),sum返回10。B:6是只计算了1,2,3?不对。C:7不对。D:不会报错。9.关于Python中全局变量与局部变量的描述,以下哪一项是错误的?()。A.局部变量在函数退出后失效B.函数内需用global声明才能修改全局变量C.全局变量不能和局部变量重名D.使用nonlocal关键字可以在嵌套函数中修改其直接外层(非全局)作用域中的变量。答案:C。解析:A:正确,局部变量在函数退出后失效。B:正确,函数内修改全局变量需用global声明。C:错误,全局变量和局部变量可以重名,局部变量会屏蔽全局变量。D:正确,nonlocal用于嵌套函数修改外层非全局变量。10.执行以下Python代码后,输出的结果是?()。withopen('test.txt','w')asf:f.write('Hello')withopen('test.txt','a')asf:f.write('World')withopen('test.txt','r')asf:print(f.read())A.HelloB.WorldC.HelloWorldD.WorldHello答案:C。解析:第一次以'w'模式写入'Hello',第二次以'a'模式追加'World',文件内容为'HelloWorld'。A:只读了第一部分。B:只读了第二部分。D:顺序错误。11.在Python中,以下哪个选项可以正确地读取一个二进制文件并打印其内容?()。A.withopen('image.bmp','r')asf:print(f.read())B.withopen('image.bmp','w')asf:print(f.read())C.withopen('image.bmp','a')asf:print(f.read())D.withopen('image.bmp','rb')asf:print(f.read())答案:D。解析:读取二进制文件需用'rb'模式。A:'r'是文本模式,可能出错。B:'w'是写入模式,会清空文件。C:'a'是追加模式,不能读取。12.执行以下Python代码,如果文件data.txt不存在,输出结果是?()。try:withopen('data.txt','r')asf:content=f.read()print("Filereadsuccessfully.")exceptFileNotFoundError:print("Filenotfound.")exceptExceptionase:print("Anerroroccurred:",e)A.Filereadsuccessfully.B.Filenotfound.C.Anerroroccurred:…D.没有任何输出答案:B。解析:文件不存在会引发FileNotFoundError,被对应except捕获,输出"Filenotfound."。A:文件不存在,不会成功读取。C:不会走到这个分支。D:会有输出。13.以下Python代码的时间复杂度是?()。deffunc(n):i=0whilei*i*i<n:i+=1A.O(n)B.O(nlogn)答案:C。解析:循环条件i*i*i<n,即i^3<n,所以i<n^(1/3),循环次数为O(n^(1/3))。14.下面程序空白处填上哪些内容可以实现程序的由小到大排序功能?()。defselection_sort(arr):n=len(arr)foriinrange(n-1):min_index=i#初始化最小索引。forjinrange(i+1,n):ifarr[j]<arr[min_index]:_______________#填写代码①。______________#填写代码②。A.①min_index=j②arr[i],arr[min_index]=arr[min_index],arr[i]B.①min_index=i②arr[i],arr[j]=arr[j],arr[i]C.①j=min_index②arr[min_index],arr[i]=arr[i],arr[min_index]D.①min_index=j②arr[j],arr[i]=arr[i],arr[j]答案:A。解析:选择排序每趟在未排序部分找到最小值,然后交换到当前位置。①更新最小索引:min_index=j。②交换:arr[i],arr[min_index]=arr[min_index],arr[i]。15.执行以下Python代码,输出结果是?()。items=[("book",20),("pen",5),("bag",30)]sorted_items=sorted(items,key=lambdax:x[1],reverse=True)print(sorted_items[0])A.("book",20)B.("pen",5)C.("bag",30)D.30答案:C。解析:sorted按每个元组的第二个元素(价格)降序排序,所以最贵的是("bag",30),取[0]得到("bag",30)。A:价格20。B:价格5。D:不是元组。二、判断题(每题2分,共20分)。16.鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。()。答案:错误。解析:操作系统是管理计算机硬件与软件资源的程序,并不负责将源程序翻译成目标程序(这是编译器的工作)。所以描述错误。17.执行以下Python代码后,输出结果是([1,2],3)。()。a=[1,2]b=(a,3)a.append(4)print(b)答案:错误。解析:b=(a,3)中a是列表,元组存储的是引用。a.append(4)修改了列表,所以b变为([1,2,4],3),输出不是([1,2],3)。18.使用解析式{x:yforxinrange(2)foryinrange(2)}可以创建一个包含4个键值对的字典。()。答案:错误。解析:{x:yforxinrange(2)foryinrange(2)}会生成{0:1,1:1},因为键重复,后面的覆盖前面的,最终只有两个键值对。19.执行以下Python代码后,输出结果是15。()。defcreate_multiplier(n):returnlambdax:x*nmult=create_multiplier(3)print(mult(5))答案:正确。解析:create_multiplier(3)返回函数lambdax:x*3,调用mult(5)返回15。20.执行以下Python代码后,输出结果是True。()。deffunc(lst=[]):lst.append(1)returnlstprint(func()isfunc())答案:正确。解析:函数func的默认参数lst=[]在函数定义时创建,每次调用若不提供参数,都使用同一个列表。两次调用func()返回同一个列表对象,所以func()isfunc()为True。21.在Python中,readline()方法每次读取文件的下一行内容,包括行尾的换行符。如果已到文件末尾,则返回一个空字符串。()。答案:正确。解析:readline()确实按行读取,包括换行符,到文件末尾返回空字符串。22.执行下面Python代码会抛出TypeError异常。()。int("3.14")答案:错误。解析:int("3.14")会抛出ValueError,因为字符串表示浮点数,不能直接转整数。应先用float转换。23.执行下面Python代码后,输出的结果为[0]。()。print(list(filter(None,[0,1,2,3])))答案:错误。解析:filter(None,[0,1,2,3])会过滤掉布尔值为假的元素,0被过滤,结果为[1,2,3],输出不是[0]。24.选择排序算法是不稳定的,而插入排序算法是稳定的。()。答案:正确。解析:选择排序不稳定,插入排序稳定。25.以下程序中使用了递推方式计算阶乘(n!=1×2×…×n),计算结果正确。()。deffactorial(n):res=1foriinrange(n+1):res*=ireturnres答案:错误。解析:循环foriinrange(n+1)包括0,res*=i第一轮乘以0,结果总是0,计算错误。三、编程题(每题25分,共50分)。26.试题名称:建造。时间限制:3.0s。内存限制:512.0MB。题目描述:小A有一张M行N列的地形图,其中第i行第j列的数字aij代表坐标(i,j)的海拔高度。停机坪为一个3×3的区域且内部所有9个点的最大高度和最小高度之差不超过H。小A想请你计算出,在所有适合建造停机坪的区域中,区域内部9个点海拔之和最大是多少。输入格式:第一行三个正整数M,N,H,含义如题面所示。之后M行,第i行包含N个整数ai1,ai2…aiN,代表坐标(i,j)的高度。数据保证总存在一个适合建造停机坪的区域。输出格式:输出一行,代表最大的海拔之和。数据范围:对于所有测试点,保证1≤M,N≤103,1≤H,aij≤105。参考程序。#获取长、宽、最大高度差。M,N,H=map(int,input().split())#构建嵌套列表,这个列表包含M个长度为N的列表。a=[list(map(int,input().split()))for_inrange(M)]#海拔之和的最大值。max_sum=0#遍历所有可能的3x3区域的左上角。foriinrange(M-2):forjinrange(N-2):#提取3x3区域内的数值。#方法:拼接三行的切片。block=a[i][j:j+3]+a[i+1][j:j+3]+a[i+2][j:j+3]#判断这一区域最高最低点的海拔差。ifmax(block)-min(block)<=H:max_sum=max(max_sum,sum(block))print(max_sum)解析:遍历所有可能的3x3区域的左上角坐标(i,j),其中i范围0到M-3,j范围0到N-3。对于每个区域,提取9个元素,计算最大值、最小值和总和。如果最大值与最小值之差不超过H,则用总和更新max_sum。输出max_sum。27.试题名称:优先购买。时间限制:3.0s。内存限制:512.0MB。题目描述:小A有M元预算。商店有N个商品,每个商品有商品名S、价格P和优先级V三种属性,其中V为正整数,且V越小代表商品的优先级越高。小A的购物策略为。(1)总是优先买优先级最高的东西。(2)如果有多个最高优先级商品,购买价格最低的。(3)如果有多个优先级最高且价格最低的商品,购买商品名字典序最小的。小A想知道能购买哪些商品。输入格式:第

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论