点击上方蓝字·关注我们



CCF编程能力等级认证,英文名Grade Examination of Software Programming(以下简称GESP),由中国计算机学会发起并主办,是为青少年计算机和编程学习者提供学业能力验证的平台。GESP覆盖中小学全学段,符合条件的青少年均可参加认证。GESP旨在提升青少年计算机和编程教育水平,推广和普及青少年计算机和编程教育。
GESP考察语言为图形化编程、Python编程及C++编程,主要考察学生掌握相关编程知识和操作能力,熟悉编程各项基础知识和理论框架,通过设定不同等级的考试目标,让学生具备编程从简单的程序到复杂程序设计的编程能力,为后期专业化编程学习打下良好基础。
本次为大家带来的是2025年6月Python一级认证真题解析。
Python一级
2025年06月
一、单选题(每题2分,共30分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
答案 | C | A | D | C | B | A | A | A | B | A | C | D | C | C | D |
第1题 2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的( )。
A.处理器
B.存储器
C.输入设备
D.输出设备
【答案】C
【考纲知识点】计算机基础
【解析】传感器用于收集数据并反馈给机器人,类似于计算机的输入设备。
第2 题 小杨购置的计算机使用一年后觉得内存不够用了,想购置一个容量更大的内存条,这时其需要的内存条是()。
A. RAM
B. ROM
C. CACHE
D. EPROM
【答案】A
【考纲知识点】计算机基础
【解析】内存条是随机存取存储器(RAM),用于临时存储数据
第3 题 下列Python代码执行后,其结果是( )。

A.输出10
B.输出 {First}
C.输出 "{First}"
D.报错,因为{First}中的First应该是first
【答案】D
【考纲知识点】输入输入语句、变量的定义与使用
【解析】f-string格式化字符串以 f开头,后面跟着字符串,字符串中的表达式用大括号{} 包起来,它会将变量或表达式计算后的值替换进去。First未定义,应使用first,因此编译报错。
第4 题 Python表达式14 - 3 * 3 ** 2 的值是( )。
A. 99
B. 25
C. -13
D. -67
【答案】C
【考纲知识点】算术运算
【解析】**优先级高于 *和 -,计算顺序为3 ** 2 = 9,3 * 9 = 27,14 - 27 = -13
第5 题 下面的Python代码执行后,其输出是( )。

A. 10 20
B. 20 10
C. 10 10
D. 20 20
【答案】B
【考纲知识点】算术运算
【解析】代码通过加减法交换x和y的值,第2行x=10+20=30,第3行y=30-20=10,第4行x=30-10=20,最终输出20 10
第6 题 下面Python代码执行后的输出是( )。

A. a=3 b=4 c=5,a^2+b^2=25,c^2=25
B. 3=3 4=4 5=5,9+16=25,25=25
C. a={a} b={b} c={c},a^2+b^2={a**2+b**2},c^2={c**2}
D. a=3 b=4 c=5,1+6=25,7=25
【答案】A
【考纲知识点】输入输出语句
【解析】f-string格式化字符串以 f开头,后面跟着字符串,字符串中的表达式用大括号{}包起来,它会将变量或表达式计算后的值替换进去,其他字符原样输出。而**表示幂运算,a**2=3**2=9,b**2=16,c**2=25,依次代入{},可得a=3 b=4 c=5,a^2+b^2=25,c^2=25
第7 题 阅读下面的Python代码,横线上应填入的代码是( )。
A. {2025-int(YearOld)}
B. {2025-YearOld}
C. {2025}-{int(YearOld)}
D. {2025}-{YearOld}
【答案】A
【考纲知识点】输入输出语句
【解析】计算出生年份需要将输入的年龄转换为整数并计算,input得到的结果为字符串所以需要通过int(YearOld)转为整数,出生年份= 2025-整数年龄,如果选C则是分开输出,-被当作普通字符串输出,不满足要求
第8 题 下面Python代码执行后的输出是()。

A. a+b= 7 a+b={a+b}
B. a+b=7 a+b=7
C. a+b=7a+b={a+b}
D. a+b=7a+b=7
【答案】A
【考纲知识点】输入输出语句
【解析】第一、三个为字符串按原样输出a+b=和a+b={a+b},第二个为表达式输出a+b的结果为7,中间的空格是由print() 函数自动插入的。
第9 题 下面的Python代码用于求M天后是星期几,横线处应填入的代码是()。

A.
B.
C.
D.
【答案】B
【考纲知识点】基本运算、选择结构
【解析】D = (N + M) % 7计算余数,D == 0判断是否为星期日
第10 题 下面Python代码执行后输出是( )。

A. END
B. 1#
【答案】A
【考纲知识点】循环结构、分支结构、输入输出语句
【解析】i的值依次为 1, 4, 7, 10。 每次循环,continue语句都会导致跳过 if和 print 语句。for循环正常结束,执行else 子句,打印"END"
第11 题 下面的Python代码用于求N的所有因数,如输入12则将输出12,6,4,3,2,1, 。()。

A. i <= 1
B. i == 1
C. i > 1
D. i >= 1
【答案】C
【考纲知识点】循环结构、分支结构
【解析】因为最后第7行输出了1,所以循环里枚举的是N到2的所有因数,i > 1确保循环到2,输出所有因数(除1外),最后补1
第12 题 下面Python代码执行后输出的是( )。

A. 55
B. 15
C. 9
D. 4
【答案】D
【考纲知识点】循环结构、分支结构
【解析】循环遍历0~9,i为偶数时满足第1个if会跳过,只累加奇数(1,3,5,7…..),当i=5时满足i%5==0时结束循环,实际累加1+3=4
第13 题turtle.forward(100)是( )。
A.让海龟向右转100度
B.让海龟向上移动100像素
C.让海龟向前移动100像素
D.让海龟向前移动100单位
【答案】C
【考纲知识点】Turtle绘图
【解析】在Turtle Graphics 中,turtle.forward(100)的作用是让海龟沿当前朝向向前移动100像素。选项分析如下: A 错误,forward不涉及转向。 B不符合,forward非垂直移动。 C正确,明确指出“向前移动100像素”。 D 表述模糊,“单位”不如“像素”具体。
第14 题 为在Python Turtle中输出如下图形,代码横线处应填入( )。

A. 11
B. 1, 12
C. 1, 13
D. 14
【答案】C
【考纲知识点】Turtle绘图、循环结构、分支结构
【解析】图形由多个正方形组成,每个正方形的边长依次增加。 线条颜色交替为红色和绿色。turtle.pensize(2)设置画笔宽度为2。 for i in range(__________) 是一个循环,决定绘制正方形边长的次数。 if i % 2 == 0: 和else:用于交替设置画笔颜色为红色和绿色。观察图形,共画12条边,因此循环次数应为12,第一笔为绿色,也就是i第一次为奇数,如果选A,那么第一次i=0,画笔颜色为红色,前进为0*5=0,不符合题目图片。应该选C,其他选项循环次数不正确
第15 题 为在Python Turtle中输出如下图形,代码横线处应填入( )。

A. 30
B. 60
C. 90
D. 120
【答案】D
【考纲知识点】Turtle绘图、循环结构、分支结构
【解析】循环9次,对应9条边,每次绘制一条边长为100的线段,并左转120度,当i为2、5、8时,表示,已经绘制完一个三角形,需要调整方向以绘制下一个三角形。画完一个三角形后箭头朝向为右,如果转向30°则三角形会重叠如图1,如果转向60°,则三角形紧贴如图2,如果转向90°,则三角形如图3,如果转向120°,则如图4

二、判断题(每题2分,共20分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | √ | √ | √ | × | × | √ | √ | × | √ | × |
第1题 现在,人们参加各种闭卷考试时通常都不允许将智能手机、平板电脑等带入考场,因为智能手表通常都有嵌入操作系统及通信等功能,所以也不允许携带入考场。( )
【答案】正确
【考纲知识点】计算机基础
【解析】智能设备通常因通信功能被禁止
第2题 如果Python表达式int(N ** 0.5) ** 2 == N的值为True,则N是完全平方数,如4、9等。( )
【答案】正确
【考纲知识点】算术运算
【解析】**表示幂运算,N**0.5表示对数字N进行开平方根运算,如果不是完全平方数,则开平方根结果为小数,转为整数后再平方结果就不是N了,所以为true表示完全平方数
第3题 在下面Python代码中,删除break 语句对程序执行结果没有影响。( )

【答案】正确
【考纲知识点】循环结构、分支结构
【解析】break在continue后本就无法执行,删除无影响
第4题 删除下面Python代码中的continue 后其输出是0#2#4#6#8# 。( )

【答案】错误
【考纲知识点】循环结构、分支结构
【解析】在python 中,for … else 表示这样的意思,for中的语句和普通的没有区别,else中的语句会在循环正常执行完(即for 不是通过break 跳出而中断的)的情况下执行,删除continue 后,当i 为偶数时,依然打印i 和#,但不会跳过后续代码,所以也不会影响最后else的"END" 打印。
第5题 将下面Python代码中的range(100) 修改为range(1,100) ,其输出与当前代码输出相同。( )

【答案】错误
【考纲知识点】循环结构
【解析】改之前循环100次,cnt=100,修改后循环99次,cnt=99,输出不同
第6题 交换下面Python代码中的i += 2 和cnt += 1 ,其输出相同。()

【答案】正确
【考纲知识点】循环结构
【解析】i和cnt互相不影响,所以交换也不影响输出结果
第7题 下面的Python代码执行后将输出45。( )

【答案】正确
【考纲知识点】循环结构
【解析】循环执行0~9,共10次,cnt=0+1+2+3+4+5+6+7+8+9=45
第8题 执行Python代码print(12 + 12.12)将报错,因为12是int类型,而12.12是float类型,不同类型不能直接运算。()
【答案】错误
【考纲知识点】输入输出语句
【解析】在Python中,整数(int)和浮点数(float)可以直接进行运算,Python会自动进行类型转换,将整数转换为浮点数,然后执行运算。 执行 print(12 + 12.12)会输出24.12
第9题 下面的Python代码执行后,海龟指向不会发生变化。( )
【答案】正确
【考纲知识点】Turtle绘图
【解析】左转30°后右转30°,最终方向不变
第10题 下面的Python代码被执行后将绘制出正六边形。()

【答案】错误
【考纲知识点】Turtle绘图、循环结构
【解析】循环执行6次,正六边形转向应该为60°,转向120°为三角形
三、编程题(每题25分,共50分)
题号 | 1 | 2 |
答案 |
3.1编程题1
试题名称:假期阅读
时间限制:1.0 s
内存限制:512.0 MB
3.1.1
题目描述
小A 有⼀本厚厚的书。这本书总共有n页,小A⼀天中最多只能阅读完其中的k页。小A的假期总共有t天,他想知道在假期中最多能阅读完这本书的多少页。
3.1.2
输入格式
第⼀行,⼀个正整数n,表示书的页数。
第⼆行,⼀个正整数k,表示小A每天最多阅读的页数。
第三行,⼀个正整数t,表示小A假期的天数。
3.1.3
输出格式
⼀行,⼀个整数,表示假期中所能阅读的最多页数。
3.1.4
样例
3.1.4.1
输入样例1
3.1.4.2
输出样例1
3.1.4.3
输入样例2
3.1.4.4
输出样例2
3.1.5
数据范围
对于所有测试点,保证n,k,t均不超过1000。
3.1.6
【考纲知识点】分支结构、基本运算、输入输出语句
【解题思路】
小A在t天里最多读t*k页,因为书只有n页,所以如果t*k超过n,那么也只能读n页
【程序解析】按题目要求定义n,k,t变量,通过input输入,并且通过int()转为整数,定义total_pages变量表示所能阅读的最多页数,小A在t天读k*t页,即total_pages =k*t,但书的总页数为n,所以当total_pages >n时 输出n,表示最多读n页,否则输出total_pages的值
【参考程序】

3.2
编程题2
试题名称:值日
时间限制:1.0 s
内存限制:512.0 MB
3.2.1
题目描述
小杨和小红是值日⽣,负责打扫教室。小杨每m天值日⼀次,小红每n天值日⼀次。今天他们两个⼀起值日,请问至少多少天后,他们会再次同⼀天值日?
3.2.2
输入格式
第⼀行,⼀个正整数m,表示小杨的值日周期;
第⼆行,⼀个正整数n,表示小红的值日周期。
3.2.3
输出格式
⼀行,⼀个整数,表示至少多少天后他们会再次同⼀天值日。
3.2.4
样例
3.2.4.1
输入样例1
3.2.4.2
输出样例1

3.2.5
数据范围
对于所有测试点,保证1≤m,n≤ 100。
3.2.6
【考纲知识点】循环结构、分支结构
【解题思路】这道题目要求计算小杨和小红再次同一天值日的最小天数。小杨每m 天值日一次,小红每n天值日一次。他们今天一起值日,那么下一次同一天值日的天数就是m 和n的最小公倍数,题目给出的数据量较小,可以直接使用遍历的方法,从较大的数开始逐个检查是否能被m 和n 整除。这种方法简单直观,适合小范围数据。
【程序解析】
读取小杨的值日周期m和小红的值日周期n,从1开始逐个检查每个整数i。while True无限循环,直到找到满足条件的i,如果i能被m和n同时整除(即i%m==0且i%n==0),则i就是最小公倍数,输出i并结束程序,如果当前i 不满足条件,检查下一天,即i+=1。
【参考程序】

策划:GESP技术委员会副主席 刘晓庆
技术支持:韩丹



1.GESP微信:关注“CCF GESP”公众号,点击"GESP小助手"即可交流。
2.GESP邮箱:gesp@ccf.org.cn
注:请在邮件中详细描述咨询的问题并留下考生的联系方式及姓名、身份证号,以便及时有效处理。
3.GESP电话:0512-67656856
咨询时间:周一至周五(法定节假日除外):上午 8:30-12:00;下午 13:00-17:30
