2025年12月CCF—GESP(Python一级)编程能力等级认证试卷
一级
2025
2026-07-16 14:51:10
156次
一、单选题
如果一个正整数能被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 |
【知识点】 CCF—GESP Python一级
某个整数很长很长 ,形如: 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 |
【知识点】 CCF—GESP Python一级
两个正整数,只要不相等,就一直进行如下操作:最大数减去最小数得到一个值,该值和两个数的最小数构成新的两个正整数,重复操作,直到两个数相等,此时输出该数。下面的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 |
【知识点】 CCF—GESP Python一级
二、判断题
下面的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.错误 |
【知识点】 CCF—GESP Python一级
三、编程题
手机电量显⽰
题目描述
小杨的手机就像一个聪明的小助手 ,当电量变化时 ,它会用不同的方式来提醒我们 ,假设当前的电量百分比为 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。
【知识点】 CCF—GESP Python一级
题目描述
小杨是“爱心社区” 的小志愿者 ,每周他都会帮助邻居们寄送捐赠给山区小学的文具和书籍 。快递公司为了支持公益行动 ,制定了特殊的运费规则 ,鼓励大家合理包装:
假设快递的体积为 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。
【知识点】 CCF—GESP Python一级



