内容正文:
题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
答案 C C B C D C D A C A B C B C A
Python 三级
2024 年 03 ⽉
1 单选题(每题 2 分,共 30 分)
第 1 题 ⼩杨的⽗母最近刚刚给他买了⼀块华为⼿表,他说⼿表上跑的是鸿蒙,这个鸿蒙是?( )
A. ⼩程序
B. 计时器
C. 操作系统
D. 神话⼈物
第 2 题 中国计算机学会(CCF)在2024年1⽉27⽇的颁奖典礼上颁布了王选奖,王选先⽣的重⼤贡献是( )。
A. 制造⾃动驾驶汽车
B. 创⽴培训学校
C. 发明汉字激光照排系统
D. 成⽴⽅正公司
第 3 题 下列流程图的输出结果是?( )
A. 25
B. 30
C. 35
D. 55
第 4 题 在Python语⾔中, hex 函数可以将⼗进制数转换成⼗六进制数。执⾏语句 hex(2024) 后,显⽰的运⾏结
果是?( )
A. 0x7e6
B. 0x7e7
C. 0x7e8
D. 0x7e9
第 5 题 下列说法错误的是?()
A. 字典是通过key(键)来进⾏访问的,跟列表、元组不同
B. a = {} 是⼀个空字典
C. {(1, 2): "123"} 的数据类型是字典
D. 字典⼀旦创建不可以被修改
第 6 题 使⽤ tuple 函数创建元组错误的是?()
A. a = tuple("1234")
B. a = tuple([10, 20, 30, 40])
C. a = tuple(20, 30)
D. a = tuple({10, 20, 30, 40})
第 7 题 Python代码 print(list(range(1, 10))[1::2]) ,输出结果是( )?
A. 上述代码执⾏报错
B. [1, 3, 5, 7, 9]
C. [2, 4, 6, 8, 10]
D. [2, 4, 6, 8]
第 8 题 下列Python赋值语句错误的是( )?
A. a = {10, 20, 30} * 3
B. a = (10, 20, 30) * 3
C. a = "123" * 3
D. a = [10, 20, 30] * 3
第 9 题 执⾏下列Python代码,输出结果是( )?
A. (1, 3, 3, 6, 8, 9)
B. (9, 8, 6, 3, 3, 1)
C. [9, 8, 6, 3, 3, 1]
D. [1, 3, 3, 6, 8, 9]
第 10 题 对于字典 data = {'apple': 3.5, 'banana': 4.0, 'orange': 6.0} ,删除 'banana': 4.0 键值对
的正确操作是( )?
A. del data['banana']
B. del data['banana': 4.0]
C. del data
D. data.remove('banana')
第 11 题 `在三位数的⾃然数中,找出⾄少有⼀位数字是5的所有整数,应在横线填⼊代码是 ( )。
A. lst.extend(i)
B. lst.append(i)
C. lst.add(i)
D. lst += i
第 12 题 以下哪个选项可以创建⼀个列表,包含 1 到 10 的奇数?( )
A. (x for x in range(1, 11) if x % 2 != 0)
B. (x for x in range(1, 11) if x % 2 != 0
C. [x for x in range(1, 11) if x % 2 != 0]
D. [x for x in range(1, 11)] if x % 2 != 0
第 13 题 有⼀组数据 [20, 0, 7, 0, 31] 存放在 nums 中,希望将列表中的所有零移动到列表尾,应在横线填⼊
代码是 ( )。
A. [0] * (len(nums) - i)
B. [0] * (len(nums) - j)
C. [0] * i
题号 1 2 3 4 5 6 7 8 9 10
答案
D. [0] * j
第 14 题 执⾏下列Python程序,最后的输出是()?
A. 14
B. 16
C. 18
D. 20
第 15 题 执⾏下列Python程序,最后的输出是()?
A. olleh dlrow
B. hello world
C. world hello
D. dlrow olleh
2 判断题(每题 2 分,共 20 分)
第 1 题 任何⼀个 for 循环都可以转化为等价的 while 循环。
第 2 题 ⼩杨今年春节回奶奶家了,奶奶家的数字电视要设置ip地址并接⼊到WIFI盒⼦才能收看节⽬,那这个WIFI盒
⼦具有路由器的功能。
第 3 题 若 s = ["Hello world", "I love GESP", [2024, 100]] ,则 len(s) 的值为4。
第 4 题 执⾏Python代码 print(set([x % 2 for x in range(10)])) ,输出的结果是 {0, 1} 。
第 5 题 Python表达式 5^6 的值是 15。
第 6 题 执⾏Python代码 print('gesp.ccf.org.cn'.split('.')) ,输出的结果是 ['gesp', 'ccf', 'org',
'cn'] 。
第 7 题 执⾏下列Python代码,输出的结果是 None {'Name': '小杨', 'Age': 12, 'Sex': 'female'} 。
第 8 题 执⾏下列Python代码 print((tuple(range(1, 4)) * 3).index(2)) ,输出的结果是 2 。
第 9 题 执⾏下列Python代码,输出的结果是 ["banana", "apple", "orange"] 。
第 10 题 执⾏Python代码 print(list("CCFGESP").reverse()) 与 print(list("CCFGESP")[::-1]) ,其输出
的结果相同。
3 编程题(每题 25 分,共 50 分)
3.1 编程题 1
试题名称:字母求和
3.1.1 题面描述
⼩杨同学发明了⼀种新型密码,对于每⼀个⼩写英⽂字母,该⼩写字母代表了⼀个正整数,即该字母在字母顺序中
的位置,例如字母 a 代表了正整数 1,字母 b 代表了正整数 2;对于每⼀个⼤写英⽂字母,该⼤写字母代表了⼀个负
整数,即该字母的 ASCII 码的相反数,例如字母 A 代表了正整数 -65。⼩杨同学利⽤这种⽅式对⼀个整数进⾏了加密
并得到了⼀个由⼤写字母和⼩写字母组成的字符串,该字符串中每个字母所代表数字的总和即为加密前的整数,例
如 aAc 对应的加密前的整数为 1+(-65)+3=-61。
对于给定的字符串,请你计算出它对应的加密前的整数是多少。
3.1.2 输入格式
第⼀⾏⼀个正整数 ,表⽰字符串中字母的个数。
第⼆⾏⼀个由⼤写字母和⼩写字母的字符串 ,代表加密后得到的字符串。
3.1.3 输出格式
输出⼀⾏⼀个整数,代表加密前的整数。
3.1.4 样例1
对于全部数据,保证有 。
3
aAc
1
2
-611
3.1.5 参考程序
3.2 编程题 2
试题名称:完全平⽅数
3.2.1 题面描述
⼩杨同学有⼀个包含 个⾮负整数的序列 ,他想要知道其中有多少对下标组合 ( ),使得
是完全平⽅数。
如果 是完全平⽅数,则存在⾮负整数 使得 。
3.2.2 输入格式
第⼀⾏⼀个⾮负整数 ,表⽰⾮负整数个数。
第⼆⾏包含 个⾮负整数 ,表⽰序列 包含的⾮负整数。
3.2.3 输出格式
输出⼀个⾮负整数,表⽰和是完全平⽅数的⾮负整数对数。
3.2.4 样例1
对于全部数据,保证有 。
def solve(s):
sum = 0
for char in s:
ascii_code = ord(char)
if ascii_code>=65 and ascii_code <=90:
sum-=ascii_code
elif ascii_code>=97 and ascii_code <=122:
sum+=(ascii_code-97+1)
return sum
n = int(input())
s = input()
print(solve(s))
1
2
3
4
5
6
7
8
9
10
11
12
13
5
1 4 3 3 5
1
2
31
3.2.5 参考程序
n = int(input())
A = list(map(int, input().split()))
ans = 0
for i in range(n):
for j in range(i + 1, n):
num = A[i] + A[j]
tmp = int(num ** 0.5 + 1e-6)
if tmp * tmp == num:
ans += 1
print(ans)
1
2
3
4
5
6
7
8
9
10
11