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

2026年3月CCF—GESP(Python一级)编程能力等级认证试卷
一级 2026 2026-07-28 09:49:32 208

一、单选题

1.

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

N = int(input()) 
tnt = 0
while N != 0 :
    _____________
    _____________

print("各位数数之和为: " , tnt)
A.tnt  +=  N  //  10  N  //=  10 B.tnt  +=  N  %  10 N  //=  10
C.tnt  +=  N  %  10 N  /=  10 D.tnt  =  tnt  +  N  %  10 N  /=  10
2.

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

import turtle

for i in range(1,10):
	turtle.write(f"{i}+{i}={i*2}")
	turtle.goto(i*40,0)
turtle.done()
A.

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

B.

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

C.

最后输出是10+10=20

D.

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

3.

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

A.

81

B.

27

C.

24

D.

18

4.

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

import turtle

turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.goto(0, 0)

turtle.done()
A.

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

B.

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

C.

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

D.

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

5.

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

for i in range(1, 10):
	if i % 2 == 0:
		continue
	else:
		print(i, end = "#")
print(i,"END")
A.

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

B.

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

C.

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

D.

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

6.

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

a, b = 3, 4
print(a + 2, b - 2)
print(a, b)
A.5  2 3  4 B.5  2 5  2
C.52 34 D.52 52
7.

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

A.

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

B.

预装的AI算法程序

C.

接收动作指令的遥控器

D.

拍摄其他机器人的摄像头

8.

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

N = int(input()) 
print(N)
A.

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

B.

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

C.

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

D.

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

9.

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

N = int(input())
M = int(input())

if N > M:
	print(N - M)
else:
	print(M - N)
A.

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

B.

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

C.

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

D.

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

10.

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

import turtle
N = int(input("请输入射线数量: "))
Angle = 360 / N #计算出每条射线之间间隔的角度

for i in range(N):
    turtle.right(Angle)
    turtle.forward(100)
    turtle.goto(0,0)

turtle.done()
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)才能达到预期效果

11.

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

N = int(input())
odd_count = 0
while N > 0:
    if ________:
        odd_count += 1
    N = N // 10
print(odd_count)
A.

N % 10 % 2 == 0

B.

N % 10 % 2 == 1

C.

N // 10 // 2 == 1

D.

N // 2 // 10 == 0

12.

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

A.

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

B.

双击左键

C.

按功能键  F1

D.

按回车键

13.

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

tnt = 1
for i in range(5):
	tnt *= i
print(tnt, i)
A.

24  5

B.

10  5

C.

24  4

D.

0  4

14.

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

PI = 3.1415926
print(PI)

A.

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

B.

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

C.

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

D.

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

15.

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

N = int(input("请输入正整数:"))

tnt = 0
for i in range(1, N + 1):
	if i % 3 == 1:
		tnt += -i
	else:
		tnt += i
print(tnt)
A.

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

B.

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

C.

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

D.

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

二、判断题

1.

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

A.正确 B.错误
2.

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

import turtle
turtle.circle(50, steps = 3)

turtle.done()
A.正确 B.错误
3.

执行Python 语句print(int(3 .14))将报错。()

A.正确 B.错误
4.

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

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

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

A.正确 B.错误
6.

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

import turtle

turtle.forward(100)
turtle.right(60)
turtle.forward(100)
turtle.right(60)
turtle.forward(100)

turtle.done()
A.正确 B.错误
7.

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

N = int(input("请输入正整数:"))
total = 0
for i in range(1, N + 1):
total += i
print(total)
A.正确 B.错误
8.

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

for i in range(1 , 10):
  if i % 3 == 0 :
    break 
print(i)
A.正确 B.错误
9.

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

n = int(input("请输入正整数:"))

old_number = n
new_number = 0
while n != 0:
    new_number = new_number * 10 + n % 10
    n //= 10

if old_number == new_number:
    print("对称数")
else:
    print("非对称数")
A.正确 B.错误
10.

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

N = int(input())
total = 0
for i in range(-N, N, 2):
    total += i
print(total)
A.正确 B.错误

三、编程题

1.

数字替换

时间限制: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。

2.

交朋友

时间限制: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互不相同。

公众号
客服 反馈
顶部