2024年12月CCF—GESP(Python二级)编程能力等级认证试卷
剩余时间 --:--:--
单选题 共 15 题
1.

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

2.

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

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

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

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

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

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

N = int(input("请输入正整数:"))
tnt = 0
while N != 0:
	___________________
	N = N // 10
print(tnt)
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)
6.

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

7.

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

for i in range(10):
	print(i, end = "")
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()
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)
10.

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

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

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

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

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

13.

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

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

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

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

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

判断题 共 10 题
1.

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

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


2.

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

cnt = 0
for i in range(1, 5):
	cnt += 1
print(cnt)
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)
4.

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

5.

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

for i in range(10):
	continue
	break
print(i)
6.

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

7.

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

8.

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

for _ in range(10):
	continue


9.

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

10.

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

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


编程题 共 2 题
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。

C++ 编辑器
输入
输出