
点击上方蓝字关注我们吧

CCF编程能力等级认证,英文名Grade Examination of Software Programming(以下简称GESP),由中国计算机学会发起并主办,是为青少年计算机和编程学习者提供学业能力验证的平台。GESP覆盖中小学全学段,符合条件的青少年均可参加认证。GESP旨在提升青少年计算机和编程教育水平,推广和普及青少年计算机和编程教育。
GESP考察语言为图形化编程、Python编程及C++编程,主要考察学生掌握相关编程知识和操作能力,熟悉编程各项基础知识和理论框架,通过设定不同等级的考试目标,让学生具备编程从简单的程序到复杂程序设计的编程能力,为后期专业化编程学习打下良好基础。
本次为大家带来的是2024年6月认证Python一级真题解析。
GESP2024年6月认证Python一级
一、单选题(每题2分,共30分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
答案 | C | B | B | D | B | C | A | A | A | D | C | D | C | C | C |
1、⼩杨⽗母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级 ,那他可以选择的认证语⾔有几种? ( )
A. 1
B. 2
C. 3
D. 4
正确答案【C】
题目解析:GESP认证考试可选语言有三种分别是scratch、python和C++,故答案为C选项
2、ENIAC于1946年投⼊运⾏ ,是世界上第⼀台真正意义上的计算机 ,它的主要部件都是( )组成的。
A.感应线圈
B.电⼦管
C.晶体管
D.集成电路
正确答案【B】
题目解析:本题为计算机信息学历史知识,ENIAC,全称为Electronic Numerical Integrator And Computer,它是完全的电子计算机,能够重新编程,解决各种计算问题。它于1946年2月14日在美国宣告诞生。它的主要部件都是由电子管组成的,故答案为B选项
3、在Python中 ,假设N为正整数 ,则表达式 print(N % 3 + N % 7) 的最⼤值是( )。
A.最⼤值为6
B.最⼤值为8
C.最⼤值为9
D.最⼤值为10
答案【B】
题目解析:题目中的表达式为变量模3和模7的结果求和,正整数模3最大的结果为2, 模7的最大结果为6,所以可能输出的最大值为2+6=8,故答案为B选项
4、Python语句 print(f"5%2={5%2}",5 % 2)执⾏后的输出是( )。
A. 1={1} 1
B. 5%2={5%2}1
C. 5%2={5%2} 1
D. 5%2= 1 1
答案【D】
题目解析:题目中使用print进行格式化输出,内部使用逗号隔开了两个输出结果,前方整体格式为5%2={},花括号内部计算结果会显示出来,显示的结果为5%2的计算结果1,第二个输出则直接显示计算结果,由于使用print语句进行输出会自动添加空格隔开,故答案选择D选项
5、执⾏Python语句print(input())时如果输⼊5+2,下述说法正确的是( )。
A.将输出整数7
B.将输出5+2
C.语句执⾏将报错 ,函数不能作为函数的参数
D.语句执⾏将报错, 因为input()函数的括号内没有提⽰字符串
答案【B】
题目解析:Python中的input输入函数会按照字符串的格式来接收输入,如果输入5+2会正常接收为字符串输出也会直接显示出来,故答案为B选项
6、下⾯Python代码执⾏后的输出是( )。

A. 102={102}
B. a+1={a+1}
C. a+1= 102
D. a先被赋值为浮点数 ,后被赋值为整数 ,执⾏将报错
答案【C】
题目解析:按照题面所示的程序变量a最终存储的数值为101,按照题目所示的print进行格式化输出花括号内部会显示计算结果其他的为正常格式,故答案为C选项
7、下面Python代码执行后的输出是( )。

A. 5+5
B. 5+'5'
C. 10
D. 55
答案【A】
题目解析:本道题也是print函数的格式化输出,需要注意的是字符串在显示的时候不会显示双引号,按照格式输出为5+5 ,不要错选了B选项,正确答案为A选项
8、下面Python代码执行时输入10后,正确的输出是( )。

A.第3行代码1
B.第4行代码1
C.第3行代码1
D.第4行代码1
答案【A】
题目解析:按照题面所示的程序输入数字10之后,程序进行双分支判断会选择执行if语句,输出的格式前方提示正常显示,N%3会显示计算结果1,需要注意最后使用Sep取消了自动的空格隔开,不要错选了C选项,正确答案为A选项
9、下面Python代码执行后,最终输出是( )。

A. 9 45
B. 10 55
C. 10 45
D. 11 55
答案【A】
题目解析:根据Python中for循环的特点变量i从0到9逐渐增大,累加的结果为45最后输出的变量i结果为9,故正确答案为a选项
10、下⾯Python代码⽤于判断N是否为质数(只能被1和它本⾝整除的正整数)。程序执⾏后,下⾯有关描述错误的是( )。

A.如果输⼊负整数 ,将输出“不是质数”
B.如果输⼊2,将输出“是质数”, 因为Flag已被改变为True
C.如果输⼊2,将输出“是质数”, 即便此时循环体没有被执⾏
D.如果将if N >= 2: 改为if N > 2: 同样能正确判断N是否质数
答案【C】
题目解析: 如果输入的是负整数,程序进行分支判断一定是输出”不是质数“,A选项错误;如果输入的是2,flag的结果会是true,虽然循环没有执行但是最终的结果会输出”是质数“,所以C选项正确B选项错;如果将最开始的判断条件改写为>2,则不能正确判断是否为质数,这样会忽略掉质数2,故答案选择C选项
11、下面的Python代码用于求1-N之间所有奇数之和,其中N为正整数,如果N为奇数求和时包括N。有关描述错误的是( )。

A.执⾏代码时如果输⼊10,则最后⼀⾏输出将是11 25
B.执⾏代码时如果输⼊5,则最后⼀⾏输出将是6 9
C.将i += 1 移到if i % 2 == 1: 前⼀⾏且同样对齐, 同样能实现题⽬要求
D.删除if i % 2 == 1: ,并将i += 1 改为i += 2 ,且将Sum += i 与i += 2 同样对齐, 同样可以实现 题⽬要求
答案【C】
题目解析:如果输入数据10,怎么累加的数字是1 3 5 7 9,最终计算结果为25 a选项正确;如果输入的数据是5,则累加的数字是1 3 5最终结果为9,B选项正确;由于起点是1,所以采用步长为2的方式同样可以使用要求D选项正确;如果将条件判断和变量i自增切换位置则程序计算结果错误,故答案为C选项
12、下面Python代码执行后的描述,正确的是( )。

A.共有5条线段 ,蓝红相间, 即蓝红蓝红蓝
B.共有3条线段 ,全部是蓝⾊ ,看起来是1条线段
C.共有6条线段 ,其中两条红⾊线段 ,4条蓝⾊线段
D.以上说法都不正确
答案【D】
题目解析:根据题目所示的程序变量i的取值是1 3 5 7 9,按照分支要求判断三的倍数显示为红色其中3和9可以显示为红色其他的显示为蓝色正确的应该是五条线段颜色分别为蓝红蓝蓝红,ABC选项说法均错误正确答案为D选项
13、下面Python代码执行后的描述,错误的是( )。

A.代码turtle.circle(100)将绘制⼀个半径为100的圆
B.代码turtle.circle(100, 360, 8) 将绘制半径为100的完整内接正⼋边形
C.代码turtle.circle(100, 360, 8) 将绘制半径为100的宽度为8的圆
D.代码turtle.circle(100, 180, 4) 将绘制半径为100的正⼋边形的右侧⼀半(4条边),因为 第2个参数是180度(只绘制⼀半)且第3个参数为4(只绘制出4个边) 。
答案【C】
题目解析:题目a选项描述完全没有问题circle函数内部表示半径,B选项和D选项描述正确,函数内第一个参数表示半径第二个理解为圆心角第三个参数是所分的边数,只有变量C选项错误并且在圆的描述上也没有使用宽度的这一说法,故正确答案为C选项
14、下⾯Python代码执⾏后输出的图形如下,横线处应填写的代码是( )。

A. 120
B. 110
C. 100
D. 90
答案【C】
题目解析:根据题面所示的图形,其中直线部分有九条线段,也就是要执行九次循环,依据range的特点是不能包括结尾数字的,故正确答案为C选项
15、为画出如下所示图形,下面Python代码横线处应填入( )。

A. 360
B. 180
C. 90
D. 45
答案【C】
题目解析:如题目所示的图形是绘制一个圆形之后画笔旋转九十度,经过四次循环可以绘制成四个圆形,所以代码中第四行应填写角度为90,故正确答案为C选项
二、判断题 (每题2分,共20分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | √ | × | √ | × | √ | √ | × | √ | × | √ |
1、GESP测试是对认证者的编程能力进行等级认证,同一级别的能力基本上与编程语言无关。( )
答案【正确】
题目解析:编程能力与编程语言没有直接联系,编程能力考察的是认证者的程序设计和程序理解能力,故答案为正确
2、Python语句 print(N // 3,N % 3, N ** 3, sep = "->",end = "END") 中的N已被赋值为10,则该语句 执行后输出是3->1->1000->END。 ( )
答案【错误】
题目解析: 输出语句中第一个表达式计算结果为3,第二个表达式计算结果为1,第三个表达式计算结果为1000,题目指定输出只见使用箭头符号连接,但是最后的结尾箭头是不会生效的正确输出的格式应该为3->1->1000END,故答案为错误
3、Python语句 print(int(float(input()))) 可以输入正负整数和浮点数,并将其转换为整数后输出。( )
答案【正确】
题目解析:按照题面所示的格式进行输入无论是输入正数负数还是浮点数都可以最终转换为整型输出,故答案为正确
4、Python语句print(f"{N}*2")中的N已被赋值为5。该语句执行后将输出10。( )
答案【错误】
题目解析:使用print进行格式化输出双引号内部的格式不会作为计算结果,正确应该输出5*2,故答案为错误
5、在Python中,break语句用于终止当前层次的循环,可以是for-in循环,也可以是while循环。( )
答案【正确】
题目解析:break以语句可以正确终止当前层次的循环,并且无论是for循环还是while循环都可以,故答案为正确
6、在Python,continue语句通常与if语句配合使用。( )
答案【正确】
题目解析:continue语句在循环中用于跳过本次循环,通常需要设定某种条件来跳过对应的循环,所以说与if语句配合使用情况居多,故答案为正确
7、在Python代码中,不可以将变量命名为print,因为print是Python语言的关键字。( )
答案【错误】
题目解析: 在Python中print不是语言的关键字,而是一个内置函数,故答案为错误
8、在Python turtle中 ,turtle.forward()与turtle.fd()具有相同的功能 。 ( )
答案【正确】
题目解析:forward和fd一个是正常书写格式一个是简写,具有相同的功能,故答案为正确
9、Python代码turtle.clear()可以清除海龟绘图,且海龟将回到原点。( )
答案【错误】
题目解析: 在turtle库中clear函数只可以清除海龟绘图所绘制的画面,不会将海龟回到初始的原点,故答案为错误
10、下面Python代码执行后将绘制正多边形,如输入5将绘制正5边形,输入8将绘制正8边形,以此类推。( )

答案【正确】
题目解析: 如题面所展示的程序输入数字8之后循环会执行8次,并且旋转角度会被360/8平分,所以会输出正八边形其他的数字同理,故答案为正确
三、编程题(每题25分,共50分)
题号 | 1 | 2 |
答案 |
1、休息时间
题面描述
小杨计划在某个时刻开始学习,并决定在学习k秒后开始休息。
小杨想知道自己开始休息的时刻是多少。
输入格式
前三行每行包含一个整数,分别表示小杨开始学习时刻的时h、分m、秒s(h,m,s的值符合1≤h ≤12,0 ≤m ≤59,0 ≤s ≤59)
第四行包含一个整数k,表示小杨学习的总秒数(注:k的值符合1≤k ≤3600)。
输出格式
输出一行,包含三个整数,分别表示小杨开始休息时刻的时、分、秒。
样例1

样例解释
小杨在时刻12:59:59开始学习,学习10秒后开始休息,即在13:0:9时刻开始休息。
数据范围
对于全部数据,保证有1≤h≤12,0≤m≤59,0≤s≤59,1≤k≤3600。
题目解析
由于题目中数据涉及到小时分钟和秒数,如果通过最直观的方法将学习的时间做转化分别加到对应的小时分钟和秒数上,就会出现更加复杂情况,例如分钟满了60,则需要将小时和分钟均发生变化。所以将开始学习的时间全部转化成统一的单位秒钟数,学习的时间K秒直接与开始的秒数相加,便得到了休息时刻的总秒数,最后将总秒数再通过整除和模运算转换成小时分钟和秒钟,这样程序设计得更加合理。
参考程序

2、立方数
题面描述
小杨有一个正整数n,他想知道n是否是一个立方数。
一个正整数n是立方数当且仅当存在一个正整数x满足x×x×x=n。
输入格式
第一行包含一个正整数n。
输出格式
如果正整数n是一个立方数,输出Yes,否则输出No。
样例1

样例2

样例解释
对于样例1,存在正整数2使得8=2×2×2,因此8为立方数
对于样例2,不存在满足条件的正整数,因此9不为立方数
数据范围
对于全部数据,保证有1≤n ≤1000。
题目解析
依据题面的描述,需要检测是否存在一个数i使得i*i*i==n;依据这样一个条件可以在循环内进行检测,设定变量FL并附初始值为零表示没有找到状态,如果在循环内发现条件成立则可以将FL标记为1,循环结束后可以使用分支语句对FL的值进行判断,如果已经变成了1,证明N是一个立方数可以输出yes,如果FL依然维持着零的状态则N不是一个立方数输出no。
参考程序

技术支持:马长明
策划: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公众号,了解更多资讯

