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

2025年12月CCF—GESP(Python一级)编程能力等级认证试卷
一级 2025 2026-07-16 14:51:10 156

一、单选题

1.

如果一个正整数能被3整除,或者某一位能被3整除,则称之为“漂亮数”,如12是漂亮数因为能被3整除,311是漂亮数因为含有3,22不是漂亮数因为不能被3整除也不含有3。下面的Python用于判断正整数 N 是否为漂亮数,横线处应该填入的代码是( )。

N = int(input())
Flag = "非漂亮数"
if N % 3 == 0:
	Flag = "漂亮数"
else:
	while N != 0:
		if ____________________:
			Flag = "漂亮数"
			break
		N //= 10
print(Flag)
A.

N  %  10  ==  0

B.

N  %  3  %  10  ==  0 

C.

N  %  10  %  3

D.

N  %  10  %  3  ==  0

2.

下面的Python代码在集成开发环境中运行时 ,提⽰有“invalid character”错误 。可能的原因是( ):

a,b = 3,4 #L1
print(a) #L2
print(b) #L3
A.

L1行代码中的逗号很可能是中文逗号 ,应该改为英文逗号。

B.

L1行应该分为两行 ,分别是 a  =  3  和 b  =  4 。

C.

代码运行前没有保存到文件。

D.

L2和L3不能分为两行 ,应合并为一行。

3.

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

tnt = 0
for i in range(100):
	tnt += 1
print(tnt, i)
A.

99  99

B.

100  99  

C.

99  100

D.

100  100

4.

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

a = 3
b = a = 4
print(a, b)
A.

4 4

B.

3 3

C.

3 4

D.

4 3

5.

下面的Python代码执行时如果先输入 10   回车后输入  20  并回车 ,其输出是(    )。

N = input("第一个数:")
M = input("第二个数:")
print(f"int(N+M)={int(N+M)}")
A.

30=30

B.

1020=1020

C.

int(N+M)=1020 

D.

错误提⽰

6.

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

A.

20

B.

50

C.

52

D.

80

7.

有关下面Python代码的说法,错误的是( )。

tnt = 0
for i in range(1, 10, 2):
	tnt += i
print(tnt)
A.

range(1 ,10 ,2 )  改为 range(1 ,11 ,2 )  结果相同。

B.

range(1 ,10 ,2 )  改为 range(0 ,10 ,2 )  结果相同。

C.

tnt  += i  与  tnt  = tnt  + i  效果相同。

D.

tnt  += i  与 tnt  = i + tnt  效果相同。

8.

为在Python Turtle中输出如下图形,代码横线处应填入( )。

import turtle
for i in range(12):
	turtle.forward(100)
_________________
	turtle.left(30)
A.

turtle .home()

B.

turtle .goto(0 ,0 ) 

C.

turtle . reset()

D.

turtle .home(0 ,0 )

9.

某个整数很长很长 ,形如: 1232123212321… … ,其规律是从1开始逐一升高到3然后逐一降低到1 ,然后又逐一升高到3 ,一直到很长很长 。编写程序 ,判断从左开始第N位数是几? 假设从左到右第1位为1 。在横线处应该填入的代码是( )。

N = int(input("请输入编号:"))
M = _________________
if M != 0:
	print(M)
else:
	print(2)
A.

N  %  4

B.

N // 4

C.

N  %  3

D.

N  //  3

10.

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

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

10#20#30#40#50#60#70#80#90#

B.

90#

C.

90

D.

没有输出

11.

下面的Python代码执行后海龟最终朝向是( ) 。(默认初始朝向东, 即屏幕右侧)

import turtle
turtle.forward(100) 
turtle.right(90)
turtle.forward(50)
A.

东(0° )

B.

南(270° 或 -90° )

C.

西(180° )

D.

北(90° )

12.

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

A.

不可以用 for  作为变量名, 因为 for  是Python的关键字(保留字)

B.

_tnt  不可以是变量名, 因为变量名的第一个字符必须是英文字母

C.

_tnt_  不可以是变量名, 因为最后一个字符容易与减号混淆

D.

可以用 print  作为变量名, 因为 print  是关键字 ,但这不是好习惯, 因为  print  有约定的功能与含义

13.

近日 ,空中客车公司表⽰ ,约6000架空客A320系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软件 。空客表⽰ ,在对一起飞行事故进行分析后 ,结果表明强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据 ,导致判断失误 ,进而可能引发飞行异常 。在这里的飞行控制系统中 ,执行判断的部件最可能是下面的(  )。

A.

辐射传感器

B.

处理器

C.

内存单元

D.

输出设备

14.

为在Python Turtle中输出如下图形 ,代码横线处应填入( )。

import turtle
for i in range(6):
	turtle.circle(________________)
A.

20  * i

B.

20  *  (i + 1 )

C.

20  * i ,  steps  = 4

D.

20  *  (i + 1 ) ,  steps  =  4

15.

两个正整数,只要不相等,就一直进行如下操作:最大数减去最小数得到一个值,该值和两个数的最小数构成新的两个正整数,重复操作,直到两个数相等,此时输出该数。下面的Python代码用于实现该操作,横线处应该填写的代码是( )。

N = int(input())
M = int(input())
while N != M:
	if N > M:
		_____________
	else:
		_____________
print(N)


A.

N  =  N  -  M

M  =  M  -  N

B.

M  =  M  -  N

N  =  N  -  M

C.

M  =  N  -  M

N  =  M  -  N

D.

N, M = M, N

M, N = N, M

二、判断题

1.

下面的Python代码执行后 ,将画出横平竖直(两条边水平 ,另两条边与之垂直 ,且首尾相接)的正方形 。 (  )

import turtle
turtle.right(45)
turtle.circle(45, steps = 4)
A.正确 B.错误
2.

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

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

new_number = 0
while n != 0:
	new_number = new_number * 10 + n % 10
	n //= 10
if n == new_number:
	print("对称数")
else:
	print("非对称数")

A.正确 B.错误
3.

下面的Python代码执行后将输出  -100 。 ( )

tnt = 0
for i in range(-100,100):
	tnt += i
print(tnt)
A.正确 B.错误
4.

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

for i in range(10):
	if i % 3 == 0:
		continue
	else:
		break
print(i)
A.正确 B.错误
5.

鸿蒙是华为公司开发的一款操作系统 ,那么它能够将正确的源程序翻译成目标程序 ,并运行 。 (  )

A.正确 B.错误
6.

下面的Python代码执行后将绘制出如下图形。( )

import turtle
for i in range(8):
	turtle.right(45)
	turtle.circle(50,steps = 4)

A.正确 B.错误
7.

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

tnt = 0
flag = 1
for i in range(1,100 + 1):
	tnt += i * flag
	flag = -flag
print(tnt)


A.正确 B.错误
8.

Python表达式  10 ** 0 .5  和 10 **  1  /  2  的结果并不相同 。(         )

A.正确 B.错误
9.

下面Python代码中的 range(-10) 改为 range(10) 执行结果相同。( )

tnt = 0
for i in range(-10):
	if i < 0:
		i = -i
	tnt += i
print(tnt)

A.正确 B.错误
10.

下面Python代码执行后将输出 99 , 因为 range(100)  不包括 100 ,而是到 99 。 (  )

cnt = 0
for i in range(100):
	cnt += 1
print(cnt)


A.正确 B.错误

三、编程题

1.

手机电量显⽰

题目描述

小杨的手机就像一个聪明的小助手 ,当电量变化时 ,它会用不同的方式来提醒我们 ,假设当前的电量百分比为 P:

当电量非常低(不超过 10, 即 P ≤ 10) ,它会显⽰一个大写字母 R ,就像在说:“快给我充电吧!(Red警告⾊) ”

当电量有点低(超过 10 但不超过 20, 即 10 < P ≤ 20) ,它会显⽰一个大写字母 L ,意思是“ 电量有点Low啦!”

当电量比较充足(超过 20, 即 P > 20) ,它就会直接显⽰具体的数字 ,比如直接显⽰ 50 ,表⽰还有 50 的电量。

输入格式

第一行一个正整数 代表数据组数。

对于每组数据 ,一行包含一个正整数 代表手机电量百分比。

输出格式

对于每组数据 ,输出一行 ,代表当前手机显⽰的电量信息。

样例

输入样例

5
10
1
20
99
19

输出样例

RRL99L

样例解释

输入样例 1 共有五组数据:

第一组数据手机电量 P = 10 ,满足 P ≤ 10, 电量非常低 ,显⽰ R  。

第二组数据手机电量 P = 1 ,满足 P ≤ 10, 电量非常低 ,显⽰  R 。

第三组数据手机电量 P = 20 ,满足 10 < P ≤ 20, 电量有点低 ,显⽰  L 。

第四组数据手机电量 P = 99 ,满足 P > 20, 电量比较充足 ,直接显⽰具体的数字 99  。 

第五组数据手机电量 P = 19 ,满足 10 < P ≤ 20, 电量有点低 ,显⽰  L 。

数据范围

对于所有测试点 ,保证 1 ≤ T ≤ 20, 1 ≤ P ≤ 100。

2.

题目描述

小杨是“爱心社区” 的小志愿者 ,每周他都会帮助邻居们寄送捐赠给山区小学的文具和书籍 。快递公司为了支持公益行动 ,制定了特殊的运费规则 ,鼓励大家合理包装:

假设快递的体积为 V ,重量为 G。

 按体积计算:运费按体积计算 ,公式是 0.5 x V 元。

 按重量计算:为了鼓励减轻包裹重量 ,规则是: 当重量小于 300 克, 即 G < 300 时 ,运费为 M 元 ;当重量达到或超过 300 克, 即 G ≥ 300 时 ,运费为 N 元。

快递公司的叔叔说:“我们应该选择最公平合理的计费方式 。”

所以 ,最终的运费会取按体积计算和按重量计算这两种方式中价格较低的那一个 ,这样对寄件人最公道。

输入格式

四行 ,每行一个一位小数的浮点数 ,分别代表 ,快递的体积 V ,快递的重量 G ,第一档重量运费 M ,第二档重量运费 N。

输出格式

一行一个一位小数 ,代表实际快递运费。

样例

输入样例 1

100.4 300.2 60.6 70.5

输出样例 1

50.2

输入样例 2

99.8 200.9 60.2 70.1

输出样例 2

49.9

样例解释

 对于样例 1 :快递体积 V 为 100.4 ,重量 G 为 300.2 ,第一档重量运费 M 为 60.6 ,第二档重量运费 N 为 70.5 。

–   若按体积收费 ,费用为 0.5 x 100.4 = 50.2 ;

–   若按重量收费, 由于重量 G = 300.2 超过 300 ,费用为 70.5 。

输出价格较低的 50.2 。

对于样例 2 :快递体积 V 为 99.8 ,重量 G 为 200.9 ,第一档重量运费 M 为 60.2 ,第二档重量运费 N 为 70.1 。

–   若按体积收费 ,费用为 0.5 x 99.8 = 49.9 ;

–   若按重量收费, 由于重量 G = 200.9 小于300,费用为 60.2 。

输出价格较低的 49.9 。

数据范围

对于所有测试点 ,保证给出的浮点数不超过 1000。

公众号
客服 反馈
顶部