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

GESP第11次认证真题解析|Python二级真题回顾

  • 2026-09-08 11:02:15
GESP第11次认证真题解析|Python二级真题回顾

点击上方蓝字·关注我们

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

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

本次为大家带来的是2025年9月Python二级认证真题解析。

Python二级

2025年09月

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

题号

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

答案

D

C

C

D

D

A

A

D

B

D

A

D

C

A

A

第 1 题 人工智能现在非常火,小杨就想多了解一下,其中就经常听人提到“大模型”。那么请问这里说的“大模型”最贴切是指( )。

A. 大电脑模型

B. 大规模智能

C. 智能的单位

D. 大语言模型

【答案】D

【考纲知识点】计算机基础

【解析】在人工智能领域,“大模型”通常指“大语言模型”(Large Language Model, LLM),是基于海量数据训练、参数量非常大的AI 模型,如ChatGPT。A、B、C选项均不专业或表达不准确,正确答案是D。

第 2 题 在TCP协议中,完成连接建立需要通过( )握手。

A. 一次

B. 二次

C. 三次

D. 四次

【答案】C

【考纲知识点】计算机网络

【解析】可以把TCP三次握手想象成两个人打电话确认通话:

① 客户端说:“喂,你能听到吗?”(SYN)

② 服务器回:“能听到,你能听到我吗?”(SYN+ACK)

③ 客户端回应:“能听到,我们开始吧。”(ACK)

这样双方都确认了“能发”和“能收”,连接才正式建立。

第 3 题 下面的Python代码用于输入姓名,然后输出姓名,正确的说法是(  )。

A. XingMing是汉语拼音,不能作为变量名称

B. 可以将 XingMing改为 Xing Ming

C. 可以将 XingMing改为 xingming

D. 可以将 XingMing改为 Xing-Ming

【答案】C

【考纲知识点】变量的定义与使用

【解析】Python变量名可以使用字母、数字、下划线,但不能包含空格或减号,也不能以数字开头。

A:汉语拼音是普通字母组成,合法;

B:含空格非法;

C:纯字母,合法;

D:含“-”减号非法(会被当作减法运算符)。正确答案为C。

第 4 题 下面Python代码用于获得正整数N的第M位数,如N等于1234,M等于2,则输出3。此题假设M的值大于等于1小于等于N的位数。横线处应填入的代码是(  )。

A. N % div // 10

B. N // div // 10

C. N % div % 10

D. N // div % 10

【答案】D

【考纲知识点】基本运算(算术运算)、数据类型的转换

【解析】要取从右往左数的第M 位:先用// div 去掉右边M-1 位,再用% 10 取当前个位。

A:N % div // 10 会得到错误的位;

B:// 10 会多去一位;

C:两次% 无法得到目标位;

D:逻辑正确,先整除再取余,答案为D。

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

A. False 4 4

B. 3 3 3

C. 4 4 4

D. 3 4 False

【答案】D

【考纲知识点】基本数据类型(布尔型)、基本运算(关系运算)

【解析】a, b = 3, 4 将 a赋值为3,b赋值为4;c = a == b 比较3与4是否相等,结果为False(布尔类型)。print(a, b, c) 会依次输出 3 4 False。正确答案为 D。

第 6 题 某种编号的规则是“XX-Y”,其中XX从00到11,Y从0到9,X和Y均为10进制。第一个编号是00-0,第二个编号是01-1,第12个编号11-1,第13个编号00-2,即其编码规则是XX和Y同时增1,到XX到11时下一个变为00,Y到9时,下一个变为0。下面的Python代码用于生成第N个编号,横线处应填上的代码是(  )。

A. 12 10

B. 10 10

C. 11 9

D. 9 9

【答案】A

【考纲知识点】基本运算(算术运算)、输入输出语句

【解析】题意为编号规则:前两位XX 有 00~11共 12 种,后一位Y 有 0~9共 10 种,且XX 和 Y同时递增。根据 N求第 N 个编号:

part1 = N % 12 表示XX 在 0~11循环;

part2 = N % 10 表示Y 在 0~9循环。

因此填入12 和 10,答案为A。

第 7 题 下面的Python代码执行后,将输出( )。

A. -2#-1#1#

B. -2#-1#0#1#

C. -2#-1#1#2#

D. -2#-1#0#1#2#

【答案】A

【考纲知识点】控制语句结构(顺序、循环、选择)

【解析】range(-2, 2) 生成序列 -2, -1, 0, 1;if i:在Python中0 被视为False,其他整数为True,因此会跳过0。循环输出-2、-1、1,并用# 连接,结果为-2#-1#1#。正确答案是A。

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

A. 145

B. 125

C. 55

D. 45

【答案】D

【考纲知识点】多层分支/循环结构

【解析】外层i从-10到9,内层j在range(i)中,若i≤0则内层循环不执行;当i=1到9时,内层循环次数为i次,总次数为1+2+…+9=45,输出45,对应选项D。

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

A. 99

B. 11

C. 0

D. 没有输出

【答案】B

【考纲知识点】多层分支/循环结构

【解析】外层for从1到11,只取奇数i;内层for j从0到i-1,遇到i*j为奇数时break。因此当i是奇数,j=1时i*1为奇数立即break。外层循环没有break,所以执行完所有i值后,进入外层的else,i=11,j在最后一次循环中为1,输出i*j=11。正确答案为B。

第 10 题 阅读下面的Python代码,正确的是(  )。

A. b 不能为 0,因为a % b 将导致错误

B. a 必须小于 b,否则a % b 将导致错误

C. a 和 b都必须为正整数,否则a % b 将导致错误

D. 如果 a为0,则不管b 为多少,输出都将是b

【答案】D

【考纲知识点】控制语句结构(顺序、循环、选择)、辗转相除法(欧几里得算法)

【解析】本题代码实现的是求两数的最大公约数(GCD)的辗转相除法。

A 错:在while 中已确保b ≠ 0 时才执行a % b,不会报错。

B 错:a可以大于或小于b,取余运算不受此限制。

C 错:Python的 %运算支持负数与零(除数非零),不要求正整数。

D 对:若a=0,则第一次循环remainder=0,a被赋值为b,b变为0,循环结束,输出b原值。

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

A. 1#2#4#5#6#

B. 1#2#4#5#6

C. 1#2#3#4#5#6#

D. 1#2#3#4#5#6

【答案】A

【考纲知识点】控制语句结构(顺序、循环、选择)

【解析】代码中while循环从num=0开始,每次num += 1,当num == 3时跳过打印(continue),其他情况输出num并以#结尾。循环直到num > 5结束,输出序列为1#2#4#5#6#,故选A。

第 12 题 下面Python代码用于记录多个输入数中的最大数和最小数(输入-999 则输入结束),相关说法错误的是( )。

A.程序运行时如果第一个数输入-999,则输出将是-999 -999

B. 程序输入过程中,如果输入的第一个数不是-999,且如果待输入的实际数据中没有-999【即:-999仅作为结束程序的标志数据】,则程序能求出最大数和最小数

C. 如果用于输入考试成绩,即成绩中不可能有-999,则程序能求出最高成绩和最低成绩

D. 可以将now_num = int(input())移动到while now_num != -999:之后

【答案】D

【考纲知识点】控制语句结构(顺序、循环、选择)

【解析】选项D错误,因为now_num必须在进入while前先有初始值,否则循环条件无法判断。A正确,若首个输入-999则直接输出-999 -999;B和C正确,本程序可正确求最大最小且-999仅作结束标志。

第 13 题 下面Python代码执行后输出与5 有关数的数量。与5有关的数定义为含有5 或者能被 5整除的数。相关说法正确的是()。

A.删除代码中 continue不影响程序执行结果

B. 删除代码中 break不影响程序执行结果

C. 删除j = i并将while 循环的j修改为i,不影响程序执行结果

D. 将while j > 0修正为while j>= 0不影响程序执行的结果

【答案】C

【考纲知识点】控制语句结构(顺序、循环、选择)

【解析】代码统计含“5”或能被5整除的数。

A:删除continue 会使能被5整除的数还会进入while判断,结果增加,错误。

B:删除break 会重复计数某数多次,错误。

C:j=i是将数字副本用于逐位判断,直接用i 同样有效,正确。

D:j>=0会导致当 j=0时进入死循环,错误。

第 14 题 下面Python代码实现输出如下图形,应该在横线处填入的代码是( )【注:字符串乘以一个正整数,相当于相同字符重复】。

A. (n % 2 == 1 and i == mid_row) or (n % 2 == 0 and (i == mid_row - 1 or i == mid_row))

B. (n % 2 == 0 and i == mid_row) or (n % 2 == 1 and (i == mid_row - 1 or i == mid_row))

C. (n % 2 == 1 and i == mid_row) or (n % 2 == 0 and (i == mid_row or i == mid_row + 1))

D. (n % 2 == 1 and i == mid_row) or (n % 2 == 0 and i == mid_row - 1) or (n % 2 == 0 and i == mid_row)

【答案】A

【考纲知识点】控制语句结构(顺序、循环、选择)

【解析】题目要求补全代码,i的范围为0~n-1,实现判断当前行是否为中间行mid_row(n为奇数),或中间两行mid_row-1与mid_row(n为偶数),中间行或中间两行为全星号,选项A符合要求。

第 15 题 下面Python代码实现输出如下图形,应该在横线处填入的代码是( )。

A.

B.

C.

D.

【答案】A

【考纲知识点】控制语句结构(顺序、循环、选择)

【解析】

该程序打印空格形成金字塔左对齐效果,第1重循环控制层数,第2重循环打印空格数量应为N-i+1(逐层递减),第三重循环打印该行的数字个数。选项A的“i+1”能多打印一个数字保证图形中心对齐,因此A正确,其他选项空格或数字数量不符。

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

题号

1

2

3

4

5

6

7

8

9

10

答案

×

√

×

√

×

×

×

√

×

√

第 1 题 在集成开发环境里调试程序时,要注意不能修改源程序,因为如果修改,就要终止调试、关闭该文件并重新打开,才能再次开始调试。( )

【答案】错

【考纲知识点】计算机基础与编程环境

【解析】现代集成开发环境(IDE)通常允许在调试过程中修改源代码并继续运行(称为热替换或即时编译),即使不支持此功能,也无需关闭文件重新打开,只需重新编译并运行即可,因此题目说法错误。

第 2 题 在Python代码中,假设N为正整数且大于100,则N // 100将舍弃个位和十位,如N为1234则print(N // 100)将输出12。如果N小于100且大于0,则其值为0。(   )

【答案】对

【考纲知识点】基本运算(算术运算)

【解析】

// 是整除运算符,会返回商的整数部分。对于N=1234,1234 // 100 = 12,个位和十位被舍弃。当0 < N < 100 时,N小于除数 100,整除结果为0,因此题干描述正确。

第 3 题 下列Python代码执行后将输出True,因为 a确实小于 20和 10。(   )

【答案】错

【考纲知识点】基本运算(算术运算、关系运算、逻辑运算)

【解析】Python中 and是逻辑运算符,会返回第一个为False 的值或最后一个值。表达式a < 10 为True,继续返回20(非布尔值),最终输出20 而非True,因此题目说法错误。

第 4 题 下面的Python执行后将输出True。( )

【答案】对

【考纲知识点】基本运算(算术运算、关系运算、逻辑运算)

【解析】Python支持链式比较运算 x < y < z,等价于 (x < y) and (y < z)。本例中5 < 10 且 10 < 15,两个条件均为True,所以result 为True,最终输出True,题目说法正确。

第 5 题 下面Python执行后,将输出10。 (   )

【答案】错

【考纲知识点】基本运算(算术运算、关系运算、逻辑运算)

【解析】在Python 中,布尔类型是int 的子类,True的值为 1,False的值为 0。因此a + True 等价于10 + 1 = 11,输出结果为11 而不是10,所以题目说法错误。

第 6 题 下面Python代码执行时如输入99.99,将输出及格两个汉字。( )

【答案】错

【考纲知识点】数据类型的转换

【解析】输入99.99 时,int()会将字符串 "99.99"转换为整数,但因为该字符串包含小数点,直接转换会引发ValueError 异常,程序无法正常输出“及格”,因此题目说法错误。

第 7 题 下面Python代码执行时将导致无限循环(也称死循环)。( )

【答案】错

【考纲知识点】控制语句结构(顺序、循环、选择)

【解析】while循环在count<5时运行,每轮count递增1,即使count==3时continue跳过打印,也不会阻止count增长,条件最终不满足而循环结束。因此不会形成无限循环,答案为“错”。

第 8 题 下面的Python代码执行后将输出+#+#2#。( )

【答案】对

【考纲知识点】控制语句结构(顺序、循环、选择)

【解析】continue仅跳过本次循环剩余语句,不会阻止count 增加。循环每次都会执行count += 1,最终当count 增加到5 时循环结束,因此不存在无限循环,题目说法错误。

第 9 题 下列Python代码用于求斐波那契数列,即第1个数0,第2个数1,从第三个数开始,是前两个数之和。如果输入的值为大于1的正整数,该代码能输出第N个数的值。( )

【答案】错

【考纲知识点】算法:递推

【解析】该代码会从第1 项开始依次输出斐波那契数列的前n 项,而不是只输出第n 项的值。如果输入n=5,则输出0 1 1 2 3。因此题中“能输出第N 个数的值”的说法错误。

第 10 题 下面的Python不能实现如下输出,但如果将print(0, end='')与if对齐,则可以。( )

【答案】对

【考纲知识点】控制语句结构(顺序、循环、选择)

【解析】原代码中print(0, end='') 被放在continue 语句后,永远不会执行;如果将它与if 对齐,就能在不满足i == j 条件时输出0,从而实现预期的矩阵输出,因此题目说法正确。

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

题号

1

2

答案

3.1编程题1

试题名称:优美的数字

时间限制:1.0 s

内存限制:512.0 MB

3.1.1 题目描述

如果一个正整数在十进制下的所有数位都相同,小A 就会觉得这个正整数很优美。例如,正整数6的数位都是6,所以6是优美的。正整数99的数位都是,所以99是优美的。正整数123的数位不都相同,所以123并不优美。

小 A 想知道不超过的正整数中有多少优美的数字。你能帮他数一数吗?

3.1.2 输入格式

一行,一个正整数n。

3.1.3 输出格式

一行,一个正整数,表示不超过n的优美正整数的数量。

3.1.4 样例

3.1.4.1 输入样例13.1.4.2 输出样例1

3.1.4.3 输入样例23.1.4.4 输出样例2

3.1.5 数据范围

对于所有测试点,保证1≤n ≤2025。

3.1.6 参考程序

【考纲知识点】控制语句结构(顺序、循环、选择)

【解析】题目要求统计所有数位相同的“优美数”。核心思路是遍历1到n逐个检查其每一位是否与个位相同。使用循环提取每一位并比较,不符合立即退出。本题考查循环和条件判断的综合应用,以及简单的整除与取余运算。

3.2 编程题 2

试题名称:菱形

时间限制:1.0 s

内存限制:512.0 MB

3.2.1 题目描述

小 A想绘制一个菱形。具体来说,需要绘制的菱形是一个n行n列的字符画,n是一个大于的奇数。菱形的四个顶点依次位于第1行、第1列、第n行、第n列的正中间,使用# 绘制。相邻顶点之间也用# 连接。其余位置都是.。例如,一个5行5列的菱形字符画是这样的:

给定n,请你帮小A 绘制对应的菱形。

3.2.2 输入格式

一行,一个正整数n。

1.3.2.3 输出格式

输出共 n行,表示对应的菱形。

3.2.4 样例

3.2.4.1 输入样例1

3.2.4.2 输出样例1

3.2.4.3 输入样例23.2.4.4 输出样例2

3.2.5 数据范围

对于所有测试点,保证3≤ n≤ 29并且n为奇数。

3.2.6 参考程序

【考纲知识点】控制语句结构(顺序、循环、选择)

【解析】本题利用双重循环遍历二维字符画的行列坐标,根据坐标关系判断是否位于菱形的四条边,输出对应的字符。条件判断是核心,分别对应菱形的四条边的数学方程,其他位置输出。

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

技术支持:GESP技术委员会委员 宋旭彤

GESP第十二次认证报名进行中

GESP2025年12月认证正在火热报名中,报名将于12月17日24点截止;点击登录CCF GESP官网(https://gesp.ccf.org.cn/)进行报名,欢迎学有余力的同学参加认证!

联系方式

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

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

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

3.GESP电话:0512-67656856

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

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

最新文章

随机文章