2025年12月CCF—GESP(Python二级)编程能力等级认证试卷
二级
2025
2026-07-16 18:43:56
117次
一、单选题
某学校举办“十佳歌手大奖赛”,经过选拔最终参赛选手有25人,评委10人,最终计分规则去掉一个最高分 去掉一个最低分作为该参赛选手的最终得分,并输出该得分。每位评委都必须打分,且分数都大于等0。相关说法正 确的是( )。
for _ in range(25): max_score = 0 #记录最高分 min_score = 9999 #记录最低分 total_score = 0 #记录总分 for _ in range(10): now_score = float(input()) #录入评委打分 if now_score > max_score: max_score = now_score if now_score < min_score: min_score = now_score total_score += now_score print(total_score - max_score - min_score)
| A. 程序总体逻辑错误。因为要去掉最高分和最低分,需要排序,而程序没有相关代码。 |
B. 内层循环和外层循环之间的三行代码也就是 max_score = 0 开始的三行代码应该移动到外层循环外。 |
| C. if now_score > max_score 和 if now_score < min_score 中的 > 和 < 分别调整为 >= 和 <= 不 影响程序执行结果。 |
D. total_score += now_score 不可以更改为 total_score = total_score + now_score 。 |
【知识点】 CCF—GESP Python二级
某单位工号的编码规则:编码总长5位,均为数字,前4位依次整除以3,其值累加之和除以10的余数为第5位 数字。如某工号为76587,前4位分别整除3后,商分别为2、2、1、2,其累加之和为7,除以10的余数为7,故第5位 为7。下面的程序依次输入前4位数字,并计算输出最后一位。程序逐行输入前4位数字,要输出第5位数字。则在横 线处应填上的代码是( )。
for _ in range(25): max_score = 0 #记录最高分 min_score = 9999 #记录最低分 total_score = 0 #记录总分 for _ in range(10): now_score = float(input()) #录入评委打分 if now_score > max_score: max_score = now_score if now_score < min_score: min_score = now_score total_score += now_score print(total_score - max_score - min_score)
| A. N % 3 rst // 10 |
B. N // 3 rst % 10 |
| C. N % 3 rst % 10 |
D. N // 3 rst // 10 |
【知识点】 CCF—GESP Python二级
漂亮数的定义是:如果N能被M整除,或者某位是M,或者N的每位数之和能被M整除,则说N是M的漂亮 数。如果三个条件都满足,则是完整漂亮数。123是3的完整漂亮数,因为123能被3整除,也含有3,其每位数之和为 6也能被3整除。下面的代码用于判断N是否为M的完整漂亮数并输出。相关说法正确的是( )。
N = int(input("请输入N,N必须是0或正整数:"))
M = int(input("请输入M:M必须大于1小于等于9:"))
Sum = 0 #记录各位数之和
Flag = False #记录N是否含有M
while N != 0:
num = N % 10
Sum += num
if num == M:
Flag = True
N //= 10
if (N % M == 0) and (Flag == True) and (Sum % M == 0):
print(f"{N}是{M}的完整漂亮数")
else:
print(f"{N}不是{M}的完整漂亮数") | A. 代码能完成题目设定目标。 |
B. 在 while 循环中 N 最终将变成0,因为代码 N % M 将总是满足条件,可以在 while 前增加一行代码 old_num = N ,并将 N % M 改为 old_num % M ,随后 print() 中的 {N} 改为 {old_num} 。 |
| C. while 循环中 if 判断语句可以增加 else 子句,其内容为 Flag = False 。 |
D. 如果先后输入 0 和 3 ,则肯定会输出 0是3的完整漂亮数 。 |
【知识点】 CCF—GESP Python二级
阅读下面的Python代码。执行后如输入 5 ,其输出的字符图形是( )。
n = int(input())
for i in range(n):
for j in range(n - i - 1):
print(" ", end="")
for k in range(2 * i + 1):
print("*", end="")
print() A.***** **** *** ** * |
B.* *** ***** ******* ********* |
C.* ** *** **** ***** |
D.* ** *** **** ***** |
【知识点】 CCF—GESP Python二级
二、判断题
三、编程题
环保能量球
题目描述
小杨最近在玩一个环保主题的游戏。在游戏中,小杨每行走 1 公里就可以获得 1 点“环保能量”。
为了激励玩家,游戏设置了“里程奖励”:小杨每行走 公里,游戏就会额外奖励 1 点能量。
现在已知小杨总共行走了 公里,请你帮他计算,他一共能获得多少点环保能量?
输入格式
第一行包含一个正整数 ,代表测试数据组数。
对于每组测试数据:
第一行包含一个正整数 ,代表行走的公里数。
第二行包含一个正整数 ,代表奖励触发的间隔。
输出格式
对于每组测试数据,输出一个整数,代表小杨获得的环保能量总数。
样例
输入样例
3 5 2 10 3 2 5
输出样例
7 13 2
对于第 1 组数据, n=5,x=2:小杨行走获得 5 点能量。此外,他在第 2 公里和第 4 公里时各获得 1 点额外奖励,总共5+2=7点。
对于第 2 组数据, n=10,x=3 :行走获得 10 点。他在第 3、6、9 公里时各获得 1 点额外奖励,总共 10+3=13点。
对于第 3 组数据, n=2,x=5:行走获得 2 点。由于行走路程不足 5 公里,没有额外奖励,总共 2 点。
数据范围
对于全部数据,保证: 1 ≤ t ≤ 10,1 ≤ n,x ≤ 1000。
【知识点】 CCF—GESP Python二级



