万卷网> GESP认证 >Python > 2026年3月CCF—GESP(Python二级)编程能力等级认证试卷

2026年3月CCF—GESP(Python二级)编程能力等级认证试卷
二级 2026 2026-07-30 16:57:18 128

一、单选题

1.

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

cnt = 0
for i in range(1, 5):
    for j in range(i):
        print(j, end = "#")
    break
else:
    print(i*j)
A.

0#0#1#0#1#2#0#1#2#3#12

B.

0#0#1#0#1#2#0#1#2#3#

C.

0#

D.

1#

2.

下面选择项中,与Python 表达式not (x > 5 and y <= 10)等价的是( )。

A.

x <= 5 and y > 10

B.

x > 5 or y <= 10

C.

x <= 5 or y > 10

D.

not x > 5 and not y <= 10

3.

某同学执行Python 代码print((0 .1 + 0 .2) == 0 .3)时输出False,其原因是( )。

A.

Python 的+ 运算符在处理小数时存在bug

B.

0.1、0.2 和0 .3 在计算机中无法用二进制浮点数精确表示,导致0.1 + 0.2 的结果与0 .3 存在微小误差

C.

== 运算符不能用于比较浮点数,只能用于整数

D.

因为0.1 + 0.2 的数学结果不等于0.3

4.

某学校图书馆的借阅卡号由6位数字组成。前5位是顺序编号,第6位是校验码,用于防止输错。校验码规则如下:将前5位数字相加,然后除以10的余数,就是第6位数字。如卡号123455的前5位之和为15,除以10的余数是5,故第6位为5。下面的Python 代码用于判断卡号是否正确,横线处应填入的代码是( )。

A.tnt += order_num // 10 tnt // 10 == check_num B.tnt += order_num % 10 tnt % 10 == check_num
C.tnt = order_num % 10 + tnt tnt % 10 = check_num D.tnt = order_num % 10 tnt // 10 == check_num
5.

某学校举办“校园演讲比赛”,每位选手由8位评委打分(分数为0~10 的整数),且每位评委必须打分。计分规则:若至少有5位评委给出大于等于6分,则成绩有效,最终得分为所有8位评委的总分;否则记为0分。以下程序通过键盘依次输入8个分数,并计算最终得分。横线处应填入()。

total_score = 0 # 所有分数之和
high_count = 0 # ≥6分的评委数量

for i in range(8):
    score = int(input("请输入评委分数: "))
    total_score += score
    if score >= 6:
        high_count += 1

if high_count >= 5:
    print(total_score)
else:
    print(0)
A.total_score += score high_count += 1 B.total_score += score high_count += score
C.high_count += 1 total_score += score D.total_score *= score high_count *= 1
6.

下面的Python 代码执行之后的输出是( )。

for i in range(-2, 2):
    if not i % 3:
        print(i, end = "#")
A.

0#

B.

-2#-1#1#

C.

-1#0#

D.

-2#0#1#

7.

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

cnt = 0
for i in range(5):
    i = -i
    for j in range(i, -i):
        cnt += 1
print(cnt)
A.

5

B.

15

C.

20

D.

30

8.

下面4个选项中,与下面Python 代码输出结果相同的是( )。

i = 0
while i < 5:
    print(i)
    i += 1
A.
for i in range(5): 
    print(i)
B.
for i in range(1 , 5): 
    print(i)
C.
for i in range(6): 
    print(i)
D.
for i in range(0 , 6): 
    print(i)
9.

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

PI = 3 .1415926 
print(PI)
A.

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

B.

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

C.

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

D.

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

10.

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

tnt = 0
for i in range(5):
	for j in range(i):
		tnt += 1
	print(tnt, end = "#")
print(tnt)
A.

0#1#3#6#10#10

B.

1#2#3#4#5#6#7#8#9#10#10

C.

10#10

D.

10

11.

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

A.

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

B.

预装的AI算法程序

C.

接收动作指令的遥控器

D.

拍摄其他机器人的摄像头

12.

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

count = 0
for i in range(1, 4):
    for j in range(1, 5):
        if j == 3:
            continue
        if i == 2:
            break
        count += 1
print(count)
A.

2

B.

4

C.

6

D.

8

13.

下面代码用来找出输入的N 个正整数中最大的一个。如果将代码段用流程图来表示,则L1 标记的代码行应该使用的图形是()。

Max = 0
N = int(input())
while(N):

  val = int(input()) 
  if val > Max: #L1
    Max = val 
  N -= 1 
print(Max)
A.

圆形框

B.

椭圆形框

C.

平行四边形框

D.

菱形框

14.

下面的Python 代码执行后其输出的数字图形是()。

for i in range(1, 5):
    for j in range(1, i + 1):
        print(j, end='')
    print()
A.1 12 123 1234 B.1 22 333 4444
C.1 21 321 4321 D.4 34 234 1234
15.

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

n = 10
while n > 0:
    n -= 1
    if n % 3 == 0:
        continue
    if n == 5:
        break
print(n)
A.

0

B.

5

C.

6

D.

7

二、判断题

1.

下列Python 代码执行后将输出1#4#9#16#16 。()

for i in range(1, 5):
    for j in range(1, i + 1):
        if i * j % 10 == 0:
            break
    else:
        print(i * j, end = "#")
else:
    print(i * j)
A.正确 B.错误
2.

下面的Python 代码执行将不会有输出,因为内层循环j 总是0 开始,i * j % 10 == 0 将会被满足,执行break,故而不会执行代码中的else 子句部分。()

for i in range(1, 10):
    for j in range(i):
        if i * j % 10 == 0:
            break
else:
    print(i*j)


A.正确 B.错误
3.

执行下面的Python 代码,其语句print(N) 将被执行0 次或极多次(即死循环)。()

N = input() 
while N :
    print(N)
A.正确 B.错误
4.

下面Python 代码执行后输出如左图所示,将f " {i*j}"修改为f "{i*j :3}"即可实现右图输出。()

for i in range(1, 10):
	for j in range(1, 10):
		print(f" {i*j}", end = "")
print()
A.正确 B.错误
5.

下面的Python 代码执行时将报错,因为10是整数类型,a 是布尔类型。由于类型不同,不能进行加法运算。()

a = True 
print(10 + a)
A.正确 B.错误
6.

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

A.正确 B.错误
7.

下面Python 代码执行后将输出0-3-6-9 -。( )

for i in range(10):
    if i % 3:
        continue
    print(i, end = "-")
A.正确 B.错误
8.

下列Python 代码用于计算从1 到N(含N)的所有正整数中,数字3 出现的总次数。当N = 40 时,共有14个3,包括3、13、23、30-39,其中33计两次,共计14个3。将代码while i != 0 改为while i 执行结果相同。()

N = int(input("请输入正整数N:"))
cnt = 0 #保存3的个数
for i in range(1, N + 1):
	while i != 0:
		if i % 10 == 3:
			cnt += 1
		i //= 10
print(cnt)
A.正确 B.错误
9.

Python 代码print(4 ** 2 == 2 * 2 ** 2)执行后的输出是True 。( )

A.正确 B.错误
10.

在下面的Python 代码中,删除continue 不影响执行效果。()

for i in range(10):
    i += 1
    continue
print(i)
A.正确 B.错误

三、编程题

1.

画画

时间限制:1.0 s

内存限制:512.0 MB

题目描述

输入一个正整数n,你需要绘制一个n行n列的正方形,绘制规则如下:

正方形的四个顶点使用 + 绘制;

除顶点外,第1行与第n行使用 - 绘制;

除顶点外,第1列与第n列使用 | 绘制;

正方形内部使用 * 绘制。

输入格式

一行,一个正整数n。

输出格式

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

样例

输入样例

5

输出样例

+---+
|***|
|***|
|***|
+---+

数据范围

保证3≤n≤100。

2.

数数

时间限制:1.0 s

内存限制:512.0 MB

题目描述

对于正整数n,如果 的所有数位中包含恰好3个2,Alice 会认为这个正整数是美丽的。例如,正整数24122中包含3个2,所以24122是美丽的;正整数132中包含1个2,所以132不是美丽的;正整数212322中包含4个2,所以212322不是美丽的。

Alice 想知道正整数L到正整数R(包括L和R)中有多少美丽的正整数,你能帮她数一数吗?

输入格式

输入共2行,第一行为正整数L,第二行为正整数R。

输出格式

输出一行,包含一个整数C,表示L到R中有C个美丽数。

样例

输入样例

2221
2223

输出样例

2

样例解释

2221到2223中,2221与2223是美丽的,2222不是美丽的。

数据范围

保证1≤L≤R≤106。

公众号
客服 反馈
顶部