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

2024年12月CCF—GESP(Python二级)编程能力等级认证试卷
二级 2024 2025-02-22 14:20:27 92

一、单选题

1.

Python语句 print(3 + 3 ** 3 * 2 - 1) 执行后输出的值是( )。

A.

731

B.

431

C.

246

D.

56

2.

下面Python代码实现输出如下图形,横线应填入的代码是( )。

#获取用户输入的高度
height = int(input("高度: "))

for i in range(height):
	#打印每行前面的空格
	for j in range(_______________):
		print(" ", end="")
	#打印每行的星号
	for k in range(_______________):
		print("*", end="")
	#输出一行后,换行
	print()
A.
height - i
2 * i
B.
height
2 * i
C.
height - i
2 * i + 1
D.
height - i - 1
2 * i + 1
3.

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

for i in range(1,10):
	if i % 2:
		continue
	else:
		break
print(i)
A.

1

B.

2

C.

9

D.

10

4.

下面Python代码用于求正整数各位数字之和,横线处应填入代码不能是( )。

N = int(input("请输入正整数:"))
tnt = 0
while N != 0:
	___________________
	N = N // 10
print(tnt)
A.

tnt = tnt + N % 10

B.

tnt += N % 10

C.

tnt = N % 10 + tnt

D.

tnt = N % 10

5.

在数学中 N! 表示 N 的阶乘,即1到N的乘积,如 3!=123 。下面的Python用于求 1-N 的阶乘之和,如N为3,则是 1!+2!+3! 。下面选项用于实现上述功能,其中不能实现的选项是( )。

N = int(input())

tnt, nowNum = 0, 1 #tnt保存求和之值,当前N的阶乘

for i in range(1, N + 1):
	______________ #基于上一个计算出当前数的阶乘
	______________ #从1到i每个数阶乘之和
	
print(tnt)
A.
nowNum *= i
tnt += nowNum
B.
nowNum = nowNum * i
tnt = tnt + nowNum
C.
nowNum *= i
tnt = nowNum + tnt
D.
nowNum = nowNum + i
tnt *= nowNum
6.

在Python中,与 range(10) 效果相同的是( )。

A.

range(1, 10)

B.

range(1, 11)

C.

range(1, 10, 1)

D.

range(0, 10, 1)

7.

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

for i in range(10):
	print(i, end = "")
A.

123456789

B.

0123456789

C.

12345678910

D.

012345678910

8.

下面Python代码用于实现九九乘法表。相关说法错误的是( ) 。

for Hang in range(1, 10):
	for Lie in range(1, Hang + 1):
		if Lie * Hang > 9:
			print(f"{Lie}*{Hang}={Lie*Hang}", end=" ")
		else:
			print(f"{Lie}*{Hang}={Lie*Hang} ", end=" ")
	print()
A.

将代码最后一行的print()与if-else对齐效果相同

B.

将代码最后一行的print()修改为print(“”)效果相同

C.

将Lie * Hang > 9修改为Lie * Hang >= 10效果相同

D.

将Lie * Hang > 9修改为Hang * Lie > 9效果相同

9.

下面Python代码用于输出N和M之间的孪生素数,包含N和M,且孪生素数都在N和M之间。孪生素数是指间隔为2的两个数均为素数,如11和13分别是素数,且间隔为2。假设函数isPrime()是用于判断N是否为素数的函数,如果是素数返回值是True,不是素数则返回值是False。为完成上述功能,横线处应填上的代码是( )。

#本题假设N小于M
N = int(input())
M = int(input())

for i in range(N, ___________):
	if isPrime(i) and isPrime(i + 2):
		print(i, i + 2)
A.

M - 2

B.

M - 1

C.

M

D.

M + 1

10.

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

for i in range(10):
	tnt += i
print(tnt)
A.

上述代码执行后其输出相当于求1-10的和(包含10)

B.

上述代码执行后其输出相当于求1-10的和(不包含10)

C.

上述代码执行后其输出相当于求0-10的和(不包含10)

D.

上述代码执行时将触发异常

11.

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

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

0#0#0#0#0#0#0#1#

B.

0#0#0#0#0#0#1#

C.

0#0#0#0#1#

D.

0#0#0#0#

12.

2024年10月8日,诺贝尔物理学奖“意外地”颁给了两位计算机科学家约翰·霍普菲尔德(John J. Hopfield)和杰弗里·辛顿(Geoffrey E. Hinton)。这两位科学家的主要研究方向是(2024.12-2)( )。

A.

天体物理

B.

流体力学

C.

人工智能

D.

量子理论

13.

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

for i in range(5):
	for j in range(i):
		print(j,end="")
A.

0010120123

B.

01012012301234

C.

001012012301234

D.

01012012301234012345

14.

下面Python代码用于输出0-100之间(包含100)能被7整除但不能被3整除的数,横线处不能填入的代码是()。

for i in range(100):
	if __________________________:
		print(i)
A.

i % 7 == 0 and i % 3 != 0

B.

not(i % 7) and i % 3 != 0

C.

i % 7 and i % 3

D.

i % 7 == 0 and not(i % 3 == 0)

15.

计算机系统中存储的基本单位用B来表示,比如某个照片大小为3MB,其中B代表的是( )。

A.

Byte

B.

Block

C.

Bulk

D.

Bit

二、判断题

1.

下面Python执行后将输出2*3=6。 ( )

a, b = 2, 3
print(f"{a}*{b}={a*b}")


A.正确 B.错误
2.

将下面Python代码中的range(1, 5)调整为range(5)输出结果相同。( )

cnt = 0
for i in range(1, 5):
	cnt += 1
print(cnt)
A.正确 B.错误
3.

下面两段Python代码都是用于求1-10的和,其运行结果相同。通常说来,for-in循环都可以用while循环实现。( )

tnt = 0
for i in range(1,10 + 1):
	tnt += i
print(tnt)
tnt = 0
i = 1
while i <= 10:
	tnt += i
	i += 1
print(tnt)
A.正确 B.错误
4.

如果Python表达式 int(N ** 0.5) ** 2 == N 的值为True,则说明N为完全平方数,如4、9、25等。( )

A.正确 B.错误
5.

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

for i in range(10):
	continue
	break
print(i)
A.正确 B.错误
6.

在Windows的资源管理器中为已有文件A建立副本的操作是Ctrl+C,然后Ctrl+V(2024.12-2)。( )

A.正确 B.错误
7.

在Python代码中,假设N为正整数,则 print(N - N // 10 * 10) 将获得N的个位数。( )

A.正确 B.错误
8.

以下Python代码因为循环变量为 _ 将导致错误,即 _ 不能作为变量名称,不符合Python变量命名规范。()

for _ in range(10):
	continue


A.正确 B.错误
9.

在Python语句 print(10 <= N <= 12) 中,假设N为12,则其输出为True。( )

A.正确 B.错误
10.

下面的Python代码执行后将输出18行“OK”。( )

for i in range(8,2,-2):
	for j in range(i):
		print("OK")


A.正确 B.错误

三、编程题

1.

数位和

时间限制:2.0 s

内存限制:512.0 MB

题面描述

小杨有n个正整数,小杨想知道这些正整数的数位和中最大值是多少。

“数位和”指的是一个数字中所有数位的和。例如:

对于数字12345,它的各个数位分别是1,2,3,4,5。将这些数位相加,得到:

1+2+3+4+5=15

因此,12345 的数位和是15。

输入格式

第一行包含一个正整数n,代表正整数个数。

之后n行,每行包含一个正整数。

输出格式

输出这些正整数的数位和的最大值。


输入样例

3
16
81
10

输入样例

9

对于全部数据,保证有1≤n≤105,每个正整数不超过1012。

2.

寻找数字

时间限制:2.0 s

内存限制:512.0 MB

题面描述

小杨有一个正整数a,小杨想知道是否存在一个正整数b 满足a=b4。

输入格式

第一行包含一个正整数t,代表测试数据组数。

对于每组测试数据,第一行包含一个正整数代表a。

输出格式

对于每组测试数据,如果存在满足条件的正整数b,则输出b,否则输出−1。


输入样例

3
16
81
10

输出样例

2
3
-1

对于全部数据,保证有1≤t≤105,1≤a≤108。

公众号
客服 反馈
顶部