2025年03月CCF编程能力等级认证Python三级试卷
1 单选题(每题2分,共30分)
1) 2025年春节有两件轰动全球的事件,一个是DeepSeek横空出世,另一个是贺岁片《哪吒2》票房惊人,入了全球票房榜。下面关于DeepSeek与《哪吒2》的描述成立的是( )。




查看答案
2) 对整型变量N,如果它能够同时被3和5整出,则输出 N是含有至少两个质因数 。如果用流程图来描述处理过程,则输出语句应该在哪种图形框中( )。




查看答案
3) 十进制数13的二进制表示是?( )




查看答案
4) 下列代码的输出结果是?( )
a = [1, 2]
b = a
a.append(3)
print(b)




查看答案
5) 执行 a = [1, 2]; a.extend([3, 4]) 后,a 的值是?( )




查看答案
6) 执行 a, b, c = (10, 20, 30) 后,b 的值是?( )




查看答案
7) 将列表 [7, 8, 9] 转换为元组的正确方式是?( )




查看答案
8) 字典的键(key)可以是以下哪种数据类型?( )




查看答案
9) 字典推导式 {k: v for k, v in {'a':1, 'b':2, 'c':3}.items() if v % 2 == 0} 的结果是?( )




查看答案
10) 执行 s = "hello"; print(s.find("x")) 的结果是?( )




查看答案
11) 字符串 s = "Python" ,执行 s[::2] 的结果是?( )




查看答案
12) 创建空集合的正确方式是?( )




查看答案
13) 执行 s = {1, 2}; s.update([3, 4]) 后,s 的值是?( )




查看答案
14) 需要将文本中的敏感词替换为保留首字母并用 * 号覆盖剩余字符。例如:"密码"(2字)替换为" 密* ","身份证"(3字)替换为" 身** "。请填写横线处的代码。

words = ["密码", "账号", "身份证"]
text = "请勿泄露您的密码和身份证号码"
for word in words:
    if word in text:
        text = text.replace(word, ________)
print(text) # 期望输出"请勿泄露您的密*和身**号码"





查看答案
15) 以下代码用于生成前 n 项斐波那契数列。请填写横线处的代码。

n = 5
a, b = 0, 1
fib = []
for _ in range(n):
    fib.append(a)
    a, b = b, ________
print(fib) # 期望输出 [0, 1, 1, 2, 3]





查看答案
2 判断题(每题2分,共20分)
16) C++、Python都是高级编程语言,它们每条语句的执行最终都要通过机器指令来完成。( )

查看答案
17) 表达式 hex(int('17', 8)) 的返回值为 0x11 。

查看答案
18) 在Python中, in 关键词用于检查某个元素是否存在于序列或集合中,以下表达式都是合法的。
"a" in "gesp"
"a" in {"g", "e", "s", "p"}
"a" in ["g", "e", "s", "p"]
"a" in ("g", "e", "s", "p")
"a" in {1: "g", 2: "e", 3: "s", 4: "p"}

查看答案
19)
表达式 y = 0x0f; y << 4 的结果是 0xff。

查看答案
20) 执行下面Python代码后,输出的结果为6。
data = {'ids': [1, 2], 'name': 'test'}
data['ids'].append(['g', 'e', 's', 'p'])
print(len(data['ids']))

查看答案
21) 执行下面Python代码后,输出的结果可能是 {'a', 1,'123'} 。

lst = ['a', 'a', 1, 1]
s = set(lst)
s.update('123')
print(s)


查看答案
22) 自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(例如:当 n 为 3 时,有13 + 53 + 33=153, 153 即是 n 为 3 时的一个自幂数),若找出 1000 以内的所有自幂数。可以使用枚举的方法来求解这个问题。

查看答案
23) 下列程序用于删除列表 nums 中的重复项。
nums = [1, 2, 2, 3, 4, 4]
unique = list(set(nums))
print(unique)

查看答案
24) 下列程序用于统计字符串中元音字母(a, e, i, o, u)的数量。
s = "hello world"
vowels = "aeiou"
count = sum(1 for c in s if c == vowels)
print(count)

查看答案
25) 下列程序用于去除列表中的负整数元素。

raw = [1, -2, 3, 5, -7, 0]
clean = [x for x in raw if x >= 0]
print(clean)


查看答案
3 编程题(每题25分,共50分)
26) 编程题
时间限制:1.0s 内存限制:512.0 MB

2025

【题目描述】
小 A 有一个整数 x,他想找到最小的正整数 y 使得下式成立:
(x and y) + (x or y) = 2025
其中 and 表示二进制按位与运算,or 表示二进制按位或运算。如果不存在满足条件的 y,则输出 -1。
【输入格式】
一行,一个整数 x。
【输出格式】
一行,一个整数,若满足条件的 y 存在则输出 y,否则输出 -1。
【样例】
输入样例
1025
输出样例
1000
【数据范围】
对于所有测试点,保证 0 <= x < 2025。
【提示】
(x and y) + (x or y) = 2025
其中:
and 表示按位与运算,运算符为 & 。
or 表示按位或运算,运算符为 | 。
查看答案
27) 编程题
时间限制:1.0s  内存限制:512.0 MB

词频统计

【题目描述】
在文本处理中,统计单词出现的频率是一个常见的任务。现在,给定 n 个单词,你需要找出其中出现次数最多的单词。在本题中,忽略单词中字母的大小写(即 Apple、 apple、 APPLE、 aPPle 等均视为同一个单词)。
请你编写一个程序,输入 n 个单词,输出其中出现次数最多的单词。
【输入格式】
第一行,一个整数 n,表示单词的个数;
接下来 n 行,每行包含一个单词,单词由大小写英文字母组成。
输入保证,出现次数最多的单词只会有一个。
【输出格式】
输出一行,包含出现次数最多的单词(输出单词为小写形式)。
【样例】
输入样例
6
Apple
banana
apple
Orange
banana
apple
输出样例
apple
【数据范围】
对于所有测试点, 1<=n<=100,每个单词的长度不超过 30,且仅由大小写英文字母组成。
查看答案