2024年12月CCF—GESP(Python二级)编程能力等级认证试卷
二级
2024
2025-02-22 14:20:27
92次
一、单选题
下面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 |
【知识点】 CCF—GESP Python二级
在数学中 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 |
【知识点】 CCF—GESP Python二级
下面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效果相同 |
【知识点】 CCF—GESP Python二级
下面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 |
【知识点】 CCF—GESP Python二级
二、判断题
三、编程题
数位和
时间限制: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。
【知识点】 CCF—GESP Python二级
