当前位置:首页>python>GESP第13次认证真题解析|Python一级真题回顾

GESP第13次认证真题解析|Python一级真题回顾

  • 2026-10-11 07:39:45
GESP第13次认证真题解析|Python一级真题回顾

点击上方蓝字·关注我们

CCF编程能力等级认证,英文名Grade Examination of Software Programming(以下简称GESP),由中国计算机学会发起并主办,是为计算机和编程学习者提供学业能力验证的平台。GESP旨在提升青少年计算机编程能力,培训机构编编程教育水平,推广和普及计算机和编程教育。

GESP考察语言为图形化(Scratch)编程、Python编程及C++编程,主要考察学生掌握相关编程知识和操作能力,熟悉编程各项基础知识和理论框架,通过设定不同等级的考试目标,让学生具备编程从简单的程序到复杂程序设计的编程能力,为后期专业化编程学习打下良好基础。

本次为大家带来的是2026年3月Python一级认证真题解析。

Python 一级

2026年3月

一、单选题(共15题,每题2分,共30分)

题号

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

答案

B

A

D

B

A

A

B

D

D

C

B

B

B

A

C

第1题 2026年春节联欢晚会上一个武术表演节目《武BOT》。节目中多个人形机器人会表演空翻,它们落地可能会有微微踉跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作一个计算机系统,那么在该计算机系统中下面哪一项不能作为输入设备( )。

A.用于检测重心的重力传感器

B.预装的AI算法程序

C.接收动作指令的遥控器

D.拍摄其他机器人的摄像头

答案:B

答案解析:考点为计算机输入设备定义。输入设备是硬件,重力传感器、遥控器、摄像头均为输入设备;AI算法程序是软件,不能作为输入设备。所以答案是B。

第2题 小明学习编程有一段时间了,他想在图形环境下把当前目录(或文件夹)下的文本文件20260314.txt的名字改一下。他用鼠标左键点击选中该文件后,立即完成下面哪个操作后将处于输入新文件名的状态( )。

A.单击右键并选择弹出菜单中的“重命名”

B.双击左键

C.按功能键F1

D.按回车键

答案:A

答案解析:考点为文件重命名操作。选中文件后右键选择 “重命名” 可进入改名状态;双击打开文件,F1是帮助,回车无重命名功能。所以答案是A。

第3题 有关下面Python的说法,正确的是( )。

A.为了方便初学者,print(PI)和print(pi)效果相同,即变量的大小写不敏感

B. print(PI)修改为print(Pi)能正常执行

C.不能用PI做变量名,因为要保存圆周率这个常量

D.将程序中PI全部改写为Pai,将能正常执行,不会报错

答案:D

答案解析:考点为Python变量命名与大小写敏感。Python变量严格区分大小写,PI可自定义,全部改为Pai仍可正常运行。所以答案是D。

第4题Python表达式3 * 3 ** 2的值为( )。

A. 81

B. 27

C. 24

D. 18

答案:B

答案解析:考点为Python运算符优先级。**优先级高于*,先算3**2=9,再算3*9=27。所以答案是B。

第5题 下面的 Python代码执行后,其输出是( )。

A. 5 2     3 4

B. 5 2     5 2

C. 52     34

D. 52     52

答案:A

答案解析:考点为Python多变量赋值与print输出。a=3,b=4,输出a+2=5、b-2=2,再输出a=3、b=4,a + 2和b – 2不改变变量的值,只是调用a和b的值进行运算。另外,print函数中,逗号分隔多个值时,输出会自动用空格隔开。所以答案是A。

第6题 下面 Python代码的相关说法,正确的是( )。

A.执行时如输入10,则将输出10

B.执行时如输入3.14,则将输出3.14

C.执行时如输入ABC,则将输出0

D.执行时如输入-10,则将输出10

答案:A

答案解析:考点为int (input ()) 输入规则。输入整数10可正常读取输出;input()输入的内容都是字符串,输入小数、字母会报错,因为int()只能转整数格式的字符串,例:如果输入3.14将报错,但可以int(float(input()));输入-10会正常输出-10。所以答案是A。

第7题 下面Python代码执行时,其说法正确的是( )。

A.不管输入是正数负数还是0,其输出结果肯定是大于等于0

B.不管是负整数、正整数亦或0,其结果肯定是大于等于0

C.如果N和M是相等的整数,将不会有输出

D.如果N和M输入带有小数点的数,将按整数部分计算

答案:B

答案解析:考点为if-else分支与绝对值差。代码输出两数绝对值之差,无论正负或0,结果一定≥0;输入小数会直接报错。所以答案是B。

第8题 下面Python代码执行后的输出是( )。

A. 24 5

B. 10 5

C. 24 4

D. 0 4

答案:D

答案解析:考点为for循环与累乘。range (5) 取0~4,tnt初始值为1,第一次tnt乘0后为0,任何数乘0都是0,所以tnt最后结果还是0,循环结束i=4,输出0 4。所以答案是D。

第9题Python编程求数列-1+2+3-4+5+6-7+8+9-10+11+12-13+......之值。如输入4,则计算1到4包含1和4之间的值,规律如数列所示。下面说法,正确的是( )。

A. range(1, N + 1)应该修为range(1, N)才会符合预期

B. i % 3 == 1应修改为i % 3 == 0才会符合预期

C. i % 3 == 1修改为i % 3与当前程序效果相同

D.当前代码能达到题目所描述目标

答案:D

答案解析:这道题考察数列规律+循环+条件判断,我们先把数列规律和代码逻辑对应起来,就能直接判断对错。

1.分析数列规律

数列为:-1+2+3   -4+5+6   -7+8+9    -10+11+12

规律:每3个数为一组,每组第1个数取负,第2、3个数取正,即数字1、4、7、10...为负,其余为正。

2.分析代码逻辑

range(1, N+1):循环遍历1到N的所有整数,包含两端,符合题意;

i % 3 == 1:筛选出1、4、7、10...,给这些数添加负号,其余数正常累加;代码逻辑与数列符号规律完全一致。

3.逐一分析选项

A错误:range(1, N) 不包含N,会少计算最后一个数;

B错误:i%3==0会让3、6、9…取负,与题目规律不符;

C错误:i%3不是完整的条件判断,语法错误;

D正确:当前代码逻辑完全匹配题目数列要求。

第10题 下面Python代码的相关说法,正确的是( )。

A.上述代码执行后,其输出是1#3#5#7#9#9END

B.删除else:后的执行效果与当前代码相同

C.删除else:且print(i, end = "#")与if对齐,则执行效果与当前代码相同

D.将print(i,"END")与if对齐,其执行效果与当前代码相同

答案:C

答案解析:本题考查Python循环、continue语句、缩进规则的用法。

1.原代码运行逻辑

i取值:1、2、3…9;偶数执行continue,直接跳过本次循环剩余代码;奇数执行print(i, end="#"),输出1#3#5#7#9#。;循环结束后i=9,执行最后一行输出9 END。

2.逐项分析选项

A错误:print(i,"END")中逗号会输出空格,结果为9 END,不是9END。

B错误:直接删除else:,print缩进不变,语法结构错误,运行效果改变。

C正确:删除else:,将print(i, end="#")与if对齐。偶数触发continue直接跳过打印;奇数不触发continue,执行打印,逻辑与原代码完全一致。

D错误:print(i,"END")与if对齐后,该语句进入循环内部,每次循环都会执行,输出结果改变。

第11题 下面的Python代码用于求正整数各位数之和(即数位和),约定高位不为0,如123则各位数之和为1+2+3结果为6。为实现该目标,横线处应该填写的代码是( )。

A.B.  C.D.  答案:B

答案解析:考点为数位和计算。

求正整数各位数字之和,固定两步核心操作:

1.N % 10:取出当前数字的个位,累加到总和;

2.N //= 10:整除10去掉已处理的个位,继续处理更高位;使用while N != 0 循环,重复执行直到数字变为0,即可完成数位累加。

选项分析:

A错误:N // 10 是去掉个位,不能用于取个位累加。

B正确:tnt += N % 10 取个位累加,N //= 10 删除个位,下一次循环相当于去掉个位数后的数,而N //= 10将能实现删除个位数,每次循环都删除当次循环的个位数,逻辑符合算法。

C、D错误:N /= 10 为普通除法,会生成小数,循环无法正常结束。

所以答案是B。

第12题 某个功能需要知道一个输入的正整数的各位数字中有多少个奇数,下面的Python代码是其实现,横线处应该填入的代码是( )。

A. N % 10 % 2 == 0

B. N % 10 % 2 == 1

C. N // 10 // 2 == 1

D. N // 2 // 10 == 0

答案:B

答案解析:考点为数位拆分和奇数判断。

解题思路:要统计一个数的各位数字中有多少个奇数,必须逐位取出数字进行判断。

1.取出个位数字:N % 10

2.判断奇数:一个数对2取余,结果等于1就是奇数,即 数字 % 2 == 1。

结合起来就是:先取个位N % 10,再判断是否为奇数% 2 == 1,即N % 10 % 2 == 1。

选项分析:

A错误:N % 10 % 2 == 0 是判断偶数,与题意相反。

B正确:先取出个位数字,再判断是否为奇数,完全符合题意。

C错误:N // 10 是去掉个位,不是取个位,逻辑错误。

D错误:算式逻辑混乱,无法正确判断个位是否为奇数。

所以答案是B。

第13题 下面的Python执行后如果输入8,希望输出如下图形。相关说法,正确的是( )。

A. Angle = 360 / N应该修为Angle = 360 // N才能实现输出效果

B. range(N)修改为range(1, N + 1)效果相同,都能实现输出效果

C. range(N)修改为range(1, N)效果相同,都能实现输出效果

D. turtle.right(Angle)应该修正为turtle.right(i * Angle)才能达到预期效果

答案:B

答案解析:考点为turtle绘图与循环。

本题关键:循环次数一致,绘图效果就一致。

A错误:N为整数,360/N得浮点数、360//N得整数,turtle.right()两种角度均可,无需修改。

B正确:range(N)循环N次,range(1,N+1)同样循环N次,次数一致,绘图效果相同。

C错误:range(1,N)仅循环N‑1次,射线数量变少。

D错误:原代码每次固定旋转Angle角度即可;改为i*Angle会旋转角度累加,图形错误。

所以答案是B。

第14题 有关下面 Python代码的说法,正确的是( )。

A.代码执行后,将输出等腰直角三角形

B.代码执行后,将输出等长的两条边,其夹角为90度,因为没有画出斜边,因此不是三角形

C.代码执行后,90度夹角位于原点

D.因为没有执行turtle.pendown(),所以不会画出图形

答案:A

答案解析:考点为turtle绘图基础。

代码执行内容:向前100 → 左转90° → 再向前100 → 直接连线回到原点(0,0),先画出两条直角边,长度都是100,goto (0,0) 连接成等腰直角三角形。

选项逐一分析:

A正确:两条等长直角边+返回原点连线斜边,形成等腰直角三角形。

B错误:goto(0,0)会画出斜边,是完整三角形。

C错误:90°夹角在第二条边的起点,不在原点。

D错误:turtle默认落笔,可正常绘图。所以正确答案为A。

第15题 在Python中,turtle.write()用于在当前坐标处输出文字。下面说法,错误的是( )。

A. 1+1=2输出在坐标原点,即(0,0)

B. 1+1=2的起点与2+2=4的起点间隔40个像素

C.最后输出是10+10=20

D. 1+1=2等输出文字的下面将有一条直线

答案:C

答案解析:考点为turtle文字输出。range (1,10) 只循环到9,最后输出9+9=18,不是10+10=20。所以答案是C。

二、判断题(每题2分,共20分)

题号

1

2

3

4

5

6

7

8

9

10

答案

第1题 小明的妈妈最近刚刚给他买了一块电话手表,除了可以看时间,小明也可以用它和妈妈打电话、收发信息,那么可以推测这块手表中装有一款特定操作系统。( )

答案:√

答案解析:考点为智能设备与操作系统。电话手表是智能设备,必须搭载操作系统才能运行。所以答案是√。

第2题 Python表达式4 ** 2和2 * 2 ** 2的结果相同。( )

答案:×

答案解析:考点为幂运算。4**2=16;2 * 2 ** 2先计算2**2=4,2*4=8,结果不相同。所以答案是×。

第3题 下面Python代码执行后将输出0。( )

答案:×

答案解析:考点为break语句。i=3时break跳出循环,输出i=3,不是0。所以答案是×。

第4题 下面Python代码用于求1到N之和,N为正整数。因为range中为N+1,因此是1到N且包含N之和。( )

答案:×

答案解析:考点为Python缩进语法。total未缩进,不属于循环体,无法正确求和。所以答案是×。

第5题 执行下面的Python代码,其语句print(N)将被执行0次或无数次(即死循环)。( )

答案:√

答案解析:考点为while循环。input () 输入非空则死循环,输入空则不执行。所以答案是√。

第6题 下面的Python代码能实现判断输入的正整数是否为对称数。所谓对称数是指从左到右和从右到左读该数,其值相同,如121或414等是对称数,而123不是对称数。( )

答案:√

答案解析:考点为回文数判断。代码反转数字后与原数比较,可正确判断对称数。所以答案是√。

第7题 执行下面的 Python代码,如果输入为大于0的整数,则输出一定为 −N。( )

答案:√

答案解析:考点为循环对称累加。从-N到N-1步长2累加,所有正数负数两两抵消,最后只剩-N。所以结果一定等于- N,答案是√。

第8题 执行 Python语句print(int(3.14))将报错。( )

答案:×

答案解析:考点为int ()强制转换。print (int (3.14)) 会输出3,不会报错。所以答案是×。注意:如果是int(“3.14”)或int(input())如果输入3.14,将报错,int(3.14)不会报错。

第9题 下面的 Python代码执行后,将输出等边三角形。( )

答案:√

答案解析:考点为turtle正多边形绘制。circle (50,steps=3) 可画出等边三角形。所以答案是√。

第10题 下面的 Python代码执行后第一条直线与第二条直线相交于原点,两线之间的夹角为120度。( )

答案:×

答案解析:考点为turtle角度控制。每次右转60度,前两线夹角为120度,但三线不都交于原点。所以答案是×。

三、编程题(每题25分,共50分)

编程题1

•试题名称:交朋友

•时间限制:1.0 s

•内存限制:512.0 MB

题目描述

Alice班上共有4个小朋友,身高分别为H1,H2,H3,H4,其中Alice的身高为H1。

Alice想要和身高最接近她的人交朋友,如果有多个人符合条件,则Alice想和其中较矮的那一人做朋友,你能告诉她这个人的身高是多少吗?

输入格式

输入共4行,第i行包含一个整数Hi,表示班上小朋友的身高。

输出格式

输出1行,包含一个整数h,表示Alice想交的朋友的身高。

样例

输入样例

150

165

135

133

输出样例

135

样例解释

样例1中,Alice身高为150,第2、3个小朋友与Alice身高差距为15,同样最接近,Alice选较矮的一个即第3个身高为135的小朋友交朋友。

数据范围

保证100≤Hi≤199且Hi互不相同。

参考程序

答案解析:

考点:绝对值计算、多条件比较、最优值筛选、顺序遍历更新

分析:输入4个身高,H1为Alice身高,在H2、H3、H4中找差值最小的身高;差值相同时选更矮的。

代码思路:

1.用input ()依次读取4个身高;

2.分别计算H2、H3、H4与H1的身高差绝对值;

3.以H2为初始最佳人选,依次对比H3、H4;

4.差值更小则更新,差值相等且更矮也更新;

5.最后输出最佳人选身高。

所以本题按此思路编写代码即可正确得分。

编程题2

•试题名称:数字替换

•时间限制:1.0 s

•内存限制:512.0 MB

题目描述

Alice不喜欢数字4,但觉得数字8寓意好,她想把数中的4全都替换成8,若数中不含4则无需修改,你能帮帮她吗?

输入格式

输入一行,包含一个整数A,表示替换前的数。

输出格式

输出一行,包含一个整数B,表示替换后的数。

样例

输入样例#1

8459045

输出样例#1

8859085

输入样例#2

123

输出样例#2

123

样例解释

对于样例1,输入8459045中有两个4,都将其替换为了8,得到8859085。

对于样例2,输入123中不包含4,无需修改输入数字,输出123。

数据范围

0≤A≤108。

参考程序

答案解析:

考点:数位拆分、循环取位、条件替换、数字按位重构

分析:将输入数字中每一位的4替换为8,其余不变,重新拼接输出。

代码思路:

1.读取输入数字,初始化新数与位权变量;

2.循环用num%10取出个位,是4则替换为8;

3.按位权累加到新数,num//=10去掉已处理位;

4.更新位权,循环直到num为0;

5.输出替换完成的新数。

所以本题按此思路编写代码即可正确得分。

策划:GESP技术委员会副主席 刘晓庆

技术支持:王岐

【关于GESP第14次认证】

认证语言:

C++/Python/图形化编程

报名及交费时间:

2026年4月15日17:00-6月16日24:00

准考证下载及打印时间:

2026年6月23日9:30-6月27日9:30

认证时间:

1-4级 2026年6月27日  上午09:30-11:30

5-8级 2026年6月27日  下午13:30-16:30

认证方式:

全国各GESP考点内上机考试

报名方式:

登录GESP网站(https://gesp.ccf.org.cn/)进行报名或“CCF GESP”微信公众号报名。

认证安排及收费标准:

认证时间

认证级别

认证语言

认证费用

上午9:30-11:30

一级

C++/Python/图形化

300元/人

上午9:30-11:30

二级

C++/Python/图形化

320元/人

上午9:30-11:30

三级

C++/Python/图形化

340元/人

上午9:30-11:30

四级

C++/Python/图形化

360元/人

下午13:30-16:30

五级

C++/Python

380元/人

下午13:30-16:30

六级

C++/Python

400元/人

下午13:30-16:30

七级

C++/Python

420元/人

下午13:30-16:30

八级

C++/Python

440元/人

报名流程

📍第一种方式:GESP网站报名流程

步骤1:在电脑上使用Google Chrome浏览器/Microsoft Edge浏览器/Firefox浏览器进入GESP网站 (https://gesp.ccf.org.cn) ,参加过GESP认证的考生可直接点击【登录】;未参加过GESP的考生需先点击【注册】完成新用户注册→点击【登录】。

步骤2:进入认证列表,在对应的认证名称后点击【立即报名】。

步骤3:按顺序填写考生的报名信息,身份证信息、语言等级都填写完整后,选择考点,所选城市/区没有考点信息显示,则说明该地区暂无考点,请勾选其他城市/区。考点剩余机位数大于0,则可以报名该考点。填写完成后,点击【提交报名】。

步骤4:在报名信息确认界面,仔细核对报名信息后,点击【确认报名】。

注:如需修改考生信息,请点击【修改报名】。

步骤5:进入交费界面,选择支付方式(支付宝/微信)后,点击【确认】,然后扫码支付报名费用。

注:部分省市的考位数量变化较快,如交费页面提示该考点已报满,请点击【我的报名】后点击【取消报名】,重新填写报名信息后再提交。

步骤6:完成支付,认证报名成功。

步骤7:等待审核,已交费考生信息会依次审核。

步骤8:在指定时间内下载、打印准考证。

步骤9:参加认证。

📍第二种方式:GESP公众号报名流程

点击“CCF GESP”公众号底部菜单栏【GESP】→【报名认证】,同意授权,进行登录。登录后,其余报名步骤可参考“第一种方式”指引完成报名。

【联系我们】

1. GESP微信:关注“CCF GESP”公众号,点击“GESP小助手”即可交流。

2. GESP邮箱:gesp@ccf.org.cn

注:请在邮件中详细描述咨询的问题并留下考生的联系方式及姓名、身份证件号,以便及时有效处理。

3. GESP电话:0512-67656856

咨询时间:周一至周五(法定节假日除外): 上午 8:30-12:00;下午 13:00-17:30

扫描下方二维码关注GESP公众号,了解更多资讯

最新文章

随机文章