版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年12月GESP认证Python一级真题(含答案和解析)一、单选题(每题2分,共30分)。1.近日,空中客车公司表示,约6000架空客A320系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软件。空客表示,在对一起飞行事故进行分析后,结果表明强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,导致判断失误,进而可能引发飞行异常。在这里的飞行控制系统中,执行判断的部件最可能是下面的()。A.辐射传感器B.处理器C.内存单元D.输出设备答案:B。解析:处理器(CPU)是计算机系统的核心,负责执行运算、逻辑判断和指令控制等核心操作;A选项辐射传感器仅用于检测辐射,C选项内存单元仅用于存储数据和指令,D选项输出设备仅用于呈现处理结果,因此执行判断的部件是处理器选B。2.下面的Python代码在集成开发环境中运行时,提示有“invalidcharacter”错误。可能的原因是()。a,b=3,4#L1print(a)#L2print(b)#L3A.L1行代码中的逗号很可能是中文逗号,应该改为英文逗号。B.L1行应该分为两行,分别是a=3和b=4。C.代码运行前没有保存到文件。D.L2和L3不能分为两行,应合并为一行。答案:A。解析:Python编译器对字符编码敏感,中文逗号(,)属于无效字符,而英文逗号(,)才是语法允许的分隔符,这是“invalidcharacter”错误的常见原因;B选项Python支持一行多变量赋值,无需拆分;C选项未保存文件通常提示保存相关错误,而非无效字符;D选项print语句可分行书写,不会导致无效字符错误。因此选A。3.下面有关Python变量的说法,正确的是()。A.不可以用for作为变量名,因为for是Python的关键字(保留字)。B._tnt不可以是变量名,因为变量名的第一个字符必须是英文字母。C._tnt_不可以是变量名,因为最后一个字符容易与减号混淆。D.可以用print作为变量名,因为print是关键字,但这不是好习惯,因为print有约定的功能与含义。答案:A。解析:不能使用关键字(保留字)作为变量名,`for`是关键字,因此A选项正确,变量名第一个字符可以是英文字母或下划线(_),_tnt`符合规则,B选项错误;_tnt_`满足变量命名规则,字母、数字、下划线组成,不与关键字冲突,C选项错误;print是内置函数名,不是关键字。4.题Python表达式2+3*4**2的值为()。A.20B.50C.52D.80答案:B。解析:Python中运算符优先级:幂运算(**)>乘法(*)>加法(+),需按优先级计算:先算幂运算:4**2=16,再算乘法:3*16=48,最后算加法:2+48=50。因此表达式结果为50,选B。5.下面的Python代码执行后,其输出是()。a=3b=a=4print(a,b)A.44B.33C.34D.43答案:A。解析:Python支持链式赋值,b=a=4等价于a=4后b=a,赋值顺序从右往左;第一步a=3使a的值为3,第二步a=4覆盖a的原有值(a变为4),第三步b=a使b的值也为4;最终print输出a和b的值均为4,选A。6.下面的Python代码执行时如果先输入10回车后输入20并回车,其输出是()。N=input("第一个数:")M=input("第二个数:")print(f"int(N+M)={int(N+M)}")A.30=30B.1020=1020C.int(N+M)=1020D.错误提示答案:C。解析:Python中input()函数读取的内容默认是字符串类型,因此N和M均为字符串;字符串拼接运算符+会将两个字符串直接连接,而非数值相加,即N+M="10"+"20"="1020";int(N+M)将拼接后的字符串转为整数1020,格式化输出后结果为“int(N+M)=1020”,选C。7.某个整数很长很长,形如:1232123212321……,其规律是从1开始逐一升高到3然后逐一降低到1,然后又逐一升高到3,一直到很长很长。编写程序,判断从左开始第N位数是几?假设从左到右第1位为1。在横线处应该填入的代码是()。N=int(input("请输入编号:"))M=________________ifM!=0:print(M)else:print(2)A.N%4B.N//4C.N%3D.N//3答案:A。解析:分析数字规律:1、2、3、2、1、2、3、2……,可发现周期为4(每4位重复一次“1232”);用N对4取余(N%4)可确定第N位在周期中的位置:N%4=1→第1位(1);N%4=2→第2位(2);N%4=3→第3位(3);N%4=0→第4位(2),与代码逻辑(M≠0输出M,M=0输出2)完全匹配;B选项为整除,无法定位周期位置;C、D选项周期判断错误(规律周期不是3)。因此选A。8.下面Python代码执行后的输出是()。tnt=0foriinrange(100):tnt+=1print(tnt,i)A.9999B.10099C.99100D.100100答案:B。解析:range(100)生成0~99的整数序列,循环共执行100次;每次循环tnt加1,初始tnt=0,循环结束后tnt=100;循环变量i在最后一次循环中取值为99,循环结束后i的值保持为99;因此print输出tnt和i的值分别为100和99,选B。9.有关下面Python代码的说法,错误的是()。tnt=0foriinrange(1,10,2):tnt+=iprint(tnt)A.range(1,10,2)改为range(1,11,2)结果相同。B.range(1,10,2)改为range(0,10,2)结果相同。C.tnt+=i与tnt=tnt+i效果相同。D.tnt+=i与tnt=i+tnt效果相同。答案:B。解析:原代码中range(1,10,2)生成1、3、5、7、9,tnt累加和为1+3+5+7+9=25;A选项range(1,11,2)生成1、3、5、7、9,累加和不变,说法正确;B选项range(0,10,2)生成0、2、4、6、8,累加和为0+2+4+6+8=20,与原结果不同;C选项是的简写,效果相同,说法正确;D选项加法满足交换律,i+tnt与tnt+i结果一致,效果相同,说法正确。因此错误的是B选项。10.下面Python代码执行后输出是()。foriinrange(10,100,10):ifi%10==0:continueprint(i,end="#")A.10#20#30#40#50#60#70#80#90#B.90#C.90D.没有输出答案:B。解析:range(10,100,10)生成10、20、30、…、90;循环中判断i%10==0,所有i均满足该条件,因此每次循环都执行continue(跳过后续print语句);循环结束后,i的值保持为最后一次循环的取值90;循环外执行print(i,end="#"),输出“90#”,选B。11.两个正整数,只要不相等,就一直进行如下操作:最大数减去最小数得到一个值,该值和两个数的最小数构成新的两个正整数,重复操作,直到两个数相等,此时输出该数。下面的Python代码用于实现该操作,横线处应该填写的代码是()。N=int(input())M=int(input())whileN!=M:ifN>M:_______________else:_______________print(N)A.N=N-MM=M-NB.M=M-NN=N-MC.M=N-MN=M-ND.N,M=M,NM,N=N,M答案:A。解析:根据题意转换成代码即可,核心规则是:若N>M,用N-M替换N;若M>N,用M-N替换M,重复至N=M。当N>M时,N=N-M(更新大数为差值);当M>N时,M=M-N,完全符合规则,因此选A。12.如果一个正整数能被3整除,或者某一位能被3整除,则称之为“漂亮数”,如12是漂亮数因为能被3整除,311是漂亮数因为含有3,22不是漂亮数因为不能被3整除也不含有3。下面的Python用于判断正整数N是否为漂亮数,横线处应该填入的代码是()。N=int(input())Flag="非漂亮数"ifN%3==0:Flag="漂亮数"else:whileN!=0:if____________________:Flag="漂亮数"breakN//=10print(Flag)A.N%10==0B.N%3%10==0C.N%10%3D.N%10%3==0答案:D。解析:代码逻辑:先判断N是否能被3整除,是则为漂亮数;若不能,则逐位判断是否有数字能被3整除,有也为漂亮数。逐位判断的核心是:用N%10获取当前个位数字,判断该数字是否能被3整除,即个位数字%3==0,判断个位数字是否能被3整除,符合题意。因此选D。13.下面的Python代码执行后海龟最终朝向是(默认初始朝向东,即屏幕右侧)()。importturtleturtle.forward(100)turtle.right(90)turtle.forward(50)A.东(0°)B.南(270°或-90°)C.西(180°)D.北(90°)答案:B。解析:turtle默认初始朝向为东(0°);turtle.right(angle)表示顺时针旋转angle度:初始朝东,执行forward(100)后仍朝东;执行right(90),顺时针旋转90°,朝向变为南;执行forward(50)后朝向不变,仍为南。因此最终朝向是南,选B。14.为在PythonTurtle中输出如下图形,代码横线处应填入()。importturtleforiinrange(12):turtle.forward(100)_________________turtle.left(30)A.turtle.home()B.turtle.goto(0,0)C.turtle.reset()D.turtle.home(0,0)答案:B。解析:分析图形特征,12条等长射线从原点出发,夹角30°,代码逻辑:循环12次,每次绘制一条射线,返回原点,再左转30°准备下一条射线。A选项turtle.home()表示回到原点并朝向初始方向(东),会覆盖左转30°的效果;B选项turtle.goto(0,0)表示移动到原点,不改变当前朝向,符合逻辑;C选项turtle.reset()表示重置画布,清除图形、回到原点、恢复初始朝向,会导致绘制失败;D选项turtle.home()无参数,语法错误。因此选B。15.为在PythonTurtle中输出如下图形,代码横线处应填入()。importturtleforiinrange(6):turtle.circle(________________)A.20*iB.20*(i+1)C.20*i,steps=4D.20*(i+1),steps=4答案:D。解析:图形特征为6个大小递增的正方形,turtle.circle()函数中steps=4表示绘制正四边形;循环6次需生成6个递增的正方形,半径应从20开始(i从0开始,20*(i+1)对应20、40、…、120),A选项20*i当i=0时半径为0,无法绘制第一个正方形;B选项无steps=4,绘制的是圆形,不是正方形;C选项i=0时半径为0,且第一个图形缺失;D选项半径递增且steps=4绘制正方形,符合图形要求。二、判断题(每题2分,共20分)。16.鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。()。答案:错误。解析:操作系统的核心功能是管理计算机硬件和软件资源(如内存、CPU、外设等),为程序运行提供环境;而将源程序翻译成目标程序的是编译器(如Python解释器、C++编译器),并非操作系统。鸿蒙系统仅能运行编译后的目标程序,无法直接翻译源程序,说法错误。17.题Python表达式10**0.5和10**1/2的结果并不相同。()。答案:正确。解析:计算两个表达式结果:10**0.5表示10的平方根,结果约为3.1623;10**1/2表示10的1次方除以2,结果为5;两个表达式结果不同,说法正确。18.下面Python代码执行后将输出1。()。foriinrange(10):ifi%3==0:continueelse:breakprint(i)答案:正确。解析:循环变量i从0开始:i=0时,i%3==0成立,执行continue(跳过break);i=1时,i%3==0不成立,执行break;循环结束后i的值为1,print输出1,因此该说法正确。19.下面Python代码中的range(-10)改为range(10)执行结果相同。()。tnt=0foriinrange(-10):ifi<0:i=-itnt+=iprint(tnt)答案:错误。解析:range(-10)生成的序列为空,Python中range(start,end)默认start=0,end=-10时无有效序列,循环一次不执行,tnt最终为0;range(10)生成0~9的序列,循环执行10次,tnt累加0+1+2+…+9=45;两者执行结果不同,因此该说法错误。20.下面Python代码执行后将输出99,因为range(100)不包括100,而是到99。()。cnt=0foriinrange(100):cnt+=1print(cnt)答案:错误。解析:range(100)生成0~99的序列,共100个元素,循环执行100次,每次cnt加1,初始cnt=0,循环结束后cnt=100;题干中“输出99”的结论错误,且原因解释混淆了“循环次数”和“循环变量取值范围”,该说法错误。21.下面的Python代码能用于判断输入的正整数是否为对称数。所谓对称数是指从左到右或从右到左读该数,其值相同,如121或414等是对称数,而123不是对称数。()。n=int(input("请输入正整数:"))new_number=0whilen!=0:new_number=new_number*10+n%10n//=10ifn==new_number:print("对称数")else:print("非对称数")答案:错误。解析:代码逻辑错误:循环中n被不断整除10直至为0;最终判断的是0==new_number,而非原数与反转数相等;正确逻辑应先保存原数,如original=n,循环结束后判断original==new_number。因此该代码无法正确判断对称数,说法错误。22.下面的Python代码执行后将输出-100。()。tnt=0foriinrange(-100,100):tnt+=iprint(tnt)答案:正确。解析:range(-100,100)生成-100、-99、…、99的序列,该序列中除-100外,其余数字均可两两配对(-99和99、-98和98、…、-1和1),每对和为0;所有数字累加和为-100+0=-100,print输出-100,说法正确。23.下面Python代码执行后,其输出是-50。()。tnt=0flag=1foriinrange(1,100+1):tnt+=i*flagflag=-flagprint(tnt)答案:正确。解析:代码逻辑是交替累加/减1~100的数字:1-2+3-4+…+99-100;每两个数字为一组(1-2=-1、3-4=-1、…、99-100=-1),共50组,总和为-1×50=-50;print输出-50,因此说法正确。24.下面的Python代码执行后,将画出横平竖直(两条边水平,另两条边与之垂直,且首尾相接)的正方形。()。importturtleturtle.right(45)turtle.circle(45,steps=4)答案:正确。解析:turtle.circle(r,steps=4)绘制以r为半径的正四边形;初始朝向为东,执行right(45)后朝向东南,但正四边形的四条边本身两两垂直,无论初始朝向如何,绘制的正方形均满足“两条边水平、两条边垂直且首尾相接”的条件,因此该说法正确。25.下面的Python代码执行后将绘制出如下图形。()。importturtleforiinrange(8):turtle.right(45)turtle.circle(50,steps=4)答案:正确。解析:代码逻辑:循环8次,每次右转45°后绘制一个边长固定的正方形(circle(50,steps=4));8次循环共旋转8×45°=360°,形成8个正方形组合图形,与题干图形一致,因此该说法正确。三、编程题(每题25分,共50分)。26.试题名称:小杨的爱心快递。时间限制:1.0s。内存限制:512.0MB。题目描述:小杨是“爱心社区”的小志愿者,每周他都会帮助邻居们寄送捐赠给山区小学的文具和书籍。快递公司为了支持公益行动,制定了特殊的运费规则,鼓励大家合理包装。假设快递的体积为V,重量为G。(1)按体积计算:运费按体积计算,公式是0.5×V元。(2)按重量计算:为了鼓励减轻包裹重量,规则是——当重量小于300克,即G<300时,运费为M元;当重量达到或超过300克,即G>300时,运费为N元。快递公司的叔叔说:“我们应该选择最公平合理的计费方式”。所以,最终的运费会取按体积计算和按重量计算这两种方式中价格较低的那一个,这样对寄件人最公道。输入格式:四行,每行一个一位小数的浮点数,分别代表,快递的体积V,快递的重量G,第一档重量运费M,第二档重量运费N。输出格式:一行一个一位小数,代表实际快递运费。样例解释。(1)对于样例1:快递体积V为100.4,重量G为300.2,第一档重量运费M为60.6,第二档重量运费N为70.5。-若按体积收费,费用为0.5×100.4=50.2。-若按重量收费,由于重量G=300.2超过300,费用为70.5。输出价格较低的50.2。(2)对于样例2:快递体积V为99.8,重量G为200.9,第一档重量运费M为60.2,第二档重量运费N为70.1。-若按体积收费,费用为0.5×99.8=49.9。-若按重量收费,由于重量G=200.9小于300,费用为60.2。输出价格较低的49.9。数据范围:对于所有测试点,保证给出的浮点数不超过1000。参考程序。V=float(input())#输入体积V。G=float(input())#输入重量W。M=float(input())#第一档重量运费M。N=float(input())#第二档重量运费N。#按体积计费时的费用总额。p_v=V/2#按重量档次计费计算。ifG<300:p_g=M#如果小于300,则按此计费。else:p_g=N#按第二档计费。#比较体积计费和重量计费,选择费用少的计费方式。ifp_v<p_g:print(f"{p_v:.1f}")else:print(f"{p_g:.1f}")解析:本题核心是“双计费方式取最小值”,需先分别计算按体积和按重量的运费,再比较两者大小,输出较小值。使用float(input())读取四个浮点数,根据公式计算体积运费,再计算重量运费:通过if-else判断重量档次,G<300时取M,G≥300时取N,得到p_g(重量运费)。比较p_v和p_g的大小,选择较小值,使用格式化输出(保留1位小数),符合题目输出格式要求。27.试题名称:手机电量显示。时间限制:1.0s。内存限制:512.0MB。题目描述:小杨的手机就像一个聪明的小助手,当电量变化时,它会用不同的方式来提醒我们,假设当前的电量百分比为P。(1)当电量非常低(不超过10,即P≤10),它会显示一个大写字母R,就像在说:“快给我充电吧!(Red警告色)”。(2)当电量有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 业委会人员责任制度范本
- 一名驾驶员安全责任制度
- 产品技术员岗位责任制度
- 乡镇教育扶贫责任制度
- 个人独资企业责任制度
- 人民调解员岗位责任制度
- 奇虎360网络安全部工作安排解析
- 教育行业课堂设计与教学效果评估
- 订舱单信息录入规范手册
- 2026年镇江市高等专科学校单招综合素质考试题库与答案详解
- 南宁市防洪工程软土地基处理:方法、实践与优化策略
- 鱼道运行管理办法
- 2025年315消费者权益保护知识竞赛多选题库附答案(74题)
- 公司消防车安全管理制度
- 2025年高考数学试卷(全国Ⅰ卷)(解析卷)
- 牛津树-自然拼读-等级2-level 2 -U2-Lesson2
- 四川通达化工有限责任公司峨边分公司地块土壤污染状况初步调查报告
- 降本质量风险管理制度
- DB35∕T 84-2020 造林技术规程
- 客运公司安全生产培训和教育学习制度
- 攻读博士学位期间材料科学研究计划参考范文
评论
0/150
提交评论