旨在为小朋友们提供全面的学习材料,共同为等级考试做好准备。
添加小助手微信,回复【GESP 2026.06Python三级】,获取本套试题答案。
1、学校组织同学们到未来农场参观,小明听讲解员介绍。在智能温室中,湿度传感器可以连续检测土壤的湿度,并将检测到的湿度数据实时发送给中央控制器。中央控制器根据这些数据判断是否开启灌溉系统。请问,这里的湿度传感器所发挥的作用,类似于计算机系统中的哪一类组件?( )
2、小明同学去郊外农场参观回来后,在自己的电脑中安装了一个 3D 农场仿真模拟系统。因为他今年买的这台二手电脑有点老旧,3D 农场仿真模拟系统运行时经常弹出“系统内存不足”的警告,导致系统卡顿严重。他计划通过增加物理内存来解决问题。请问他应该购买以下哪种硬件组件?( )
3、在Python中,-1 的16位补码用十六进制表示是?( )
0xFFFF0x80010x00010xFFFE4、执行 print(bin(0o15)) 的输出结果是?( )
0b11010b11100b11000b11115、下列哪个表达式可以将整数 x 的二进制表示中从右往左数第5位(最低位为第0位)强制设置为1,而其他位保持不变?( )
x & (~(1 << 5))x | (1 << 5)x ^ (1 << 5)x >> 56、下面Python代码执行后,输出的结果是?( )
lst = [1, 2, 3, 4, 5] print(lst.pop(-2)) print(lst)5 和 [1, 2, 3, 4]4 和 [1, 2, 3, 4]3 和 [1, 2, 4, 5]4 和 [1, 2, 3, 5]7、t = (2, 4, 6, 2),执行t.count(2) 的结果是?( )
8、下面Python代码执行后,输出的结果是?( )
dict_a = {'a': 1, 'b': 2, 'c': 3} dict_b = {'b': 4, 'd': 5} dict_a.update(dict_b) print(dict_a['b'])9、执行 s = "a,b,c,d"; print(s.split(',', 2)) 的结果是?( )
['a', 'b', 'c', 'd']['a', 'b', 'c,d']['a', 'b,c,d']['a,b', 'c,d']10、已知 set1 = {1, 2},set2 = {3}。现要求 在不修改 set1的前提下,获得一个包含 set1和 set2所有元素的新集合,以下哪个操作是正确的?( )
set1 + set2set1.union(set2)set1.append(set2)set1.update(set2)11、从字典 d = {'a': 1, 'b': 2} 中,如何得到一个只包含键的列表?( )
list(d)d.keys()d.to_list()list(d.items())12、用1元、2元、5元硬币凑出10元,且硬币总数不超过5枚。以下程序计算符合要求的组合个数,横线处应填写的代码是?( )
count = 0for one in range(0, 11):for two in range(0, 6):for five in range(0, 3): total_money = one + two * 2 + five * 5 total_coins = one + two + fiveif ________: count += 1print(count)total_money == 10total_coins <= 5total_money == 10 and total_coins <= 5total_money == 10 and total_coins >= 513、下列程序能够将列表中的偶数筛选出来,并组成新列表。横线处填写的代码是?( )
nums = [1, 2, 3, 4, 5, 6] result = [x for x in nums if ________] print(result) # 期望输出 [2, 4, 6]x * 2x % 2 != 0x % 2 == 0x / 2 == 014、某电商平台有 M 种商品类别,平台记录了 N 条销售记录,每条记录包含商品类别编号和销售数量。需要找出每个类别中单次销售数量最多的那一笔(即该类别的最大销售数量),并输出这些最大数量中的最小值。以下程序试图实现此功能,横线处填写的代码是?( )
M, N = map(int, input().split())max_sale = [None] * (M + 1) # 用None初始化,表示暂无记录for _ in range(N): cate, amount = map(int, input().split()) ____________ max_sale[cate] = amountvalid_max = [v for v in max_sale[1:] if v isnotNone]result = min(valid_max)print(result)if max_sale[cate] is None or amount > max_sale[cate]:if amount > max_sale[cate]:if max_sale[cate] is None:while amount > max_sale[cate]:15、以下程序实现了一种简单的“翻转”加密:将大写字母表中的每个字母替换为与其对称的字母(A↔Z, B↔Y, C↔X, ...)。横线处填写的代码是?( )
text = "HELLO"result = []for ch in text:if'A' <= ch <= 'Z': _________ result.append(new_ch)else: result.append(ch)encrypted = ''.join(result)print(encrypted)new_ch = chr(ord('Z') - (ord(ch) - ord('A')))new_ch = chr(ord('Z') - ord(ch) - ord('A'))new_ch = chr(ord('Z') + (ord(ch) - ord('A')))new_ch = chr(ord('Z') - ord(ch))1、又到期末考试周,小明发现这次许多闭卷考试不仅禁止携带手机、平板电脑,还有最近比较时髦的各类 AI 眼镜(也有叫智能眼镜)也同样不允许带入考场。这些 AI 眼镜应该也是内置了操作系统并可能支持 Wi-Fi 或蓝牙连接。
2、bin()、oct()、hex() 这三个函数的返回值类型是整数(int)。
3、表达式 (x & (x-1))可以用来判断正整数 x是否为2的幂次方。
4、切片操作 mylist[2:5:-1] 会返回索引2到索引4(包含)的元素,但顺序是反向的。
5、创建只包含一个元素的元组时,必须在元素后加一个逗号,例如 (1,)。
6、执行d1 = {x: x for x in [1, 1, 2]}后,d1为{1:1, 2:2}。
7、使用in运算符检查子字符串是否存在时,如果字符串为空,"" in "abc"将返回False。
8、执行下面Python代码后,输出的结果为 2。
s = {10, 20, 30} s.remove(20) s.discard(40) print(len(s))9、执行下面Python代码后,输出的结果为 7。
my_str = "hello world"my_set = set(my_str) result = len(''.join(my_set)) print(result)10、下列Python代码能够正确统计出所有能被3整除且至少包含一个数字5的四位数的个数。
count = 0for num in range(1000, 10000):if num % 3 == 0: digits = [int(d) for d in str(num)]if5in digits: count += 1print(count)【提交】
https://www.luogu.com.cn/problem/B4555
【问题描述】
小杨同学有一串数字,想把它们变成另一串数字,这个过程叫做 加密。
他有一本 密码本,密码本告诉你: 每个数字应该变成哪个数字。
数字一共有 个:0、1、2、3、4、5、6、7、8、9
密码本会依次告诉你:0 要变成什么1 要变成什么2 要变成什么……9 要变成什么
请你按照密码本,把原来的每个数字都换成新的数字,然后输出。
【输入描述】
输入共有 行。第一行:一个整数,表示有多少个数字需要加密;第二行:这些需要加密的数字;第三行:密码本,一共 个数字。
这 个数字的意思是:第 个数字:表示
0加密后变成什么;第 个数字:表示1加密后变成什么;第 个数字:表示2加密后变成什么;……第 个数字:表示9加密后变成什么。
【输出描述】
输出加密后的数字。
也就是:把输入第二行里的每个数字,都按照输入第三行的密码本换掉后输出。
【样例输入1】
70 2 0 3 4 1 99 0 1 2 3 4 5 6 7 8【样例输出1】
9 1 9 2 3 0 8【样例解释1】
第二行要加密的数字是:0 2 0 3 4 1 9
第三行密码本是:9 0 1 2 3 4 5 6 7 8
它的意思是:
0 变成 91 变成 02 变成 13 变成 24 变成 35 变成 46 变成 57 变成 68 变成 79 变成 8所以:
0 变成 92 变成 10 变成 93 变成 24 变成 31 变成 09 变成 8最后得到:9 1 9 2 3 0 8
【数据范围】
需要加密的数字个数不超过 个,且均为 到 ;密码本中的数字不重复,且均为 到 。
【提交】
https://www.luogu.com.cn/problem/B4556
【问题描述】
小杨同学有一串字符,里面可能有:
A、B、Ca、b、c0、1、2现在小杨同学想把这串字符变一变,规则如下:
*。请你按照这个规则,帮小杨把整串字符转换好。
【输入描述】
输入一共有 行。第一行:一个整数,表示这串字符一共有多少个字符。第二行:一串连续的字符,中间没有空格。
【输出描述】
输出转换后的字符。
注意: 输出时字符之间不要加空格。
【样例输入1】
5aBc98【样例输出1】
AbC**【样例解释1】
原来的字符是:
aBc98从左到右一个一个看:
a 是小写字母,所以变成 A;B 是大写字母,所以变成 b;c 是小写字母,所以变成 C;9 是数字,所以变成 *;8 是数字,所以变成 *。所以最后输出:
AbC**【数据范围】
字符个数不会超过 个。
每个字符只会是大写字母、小写字母或数字。
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的 #21天刷题打卡、 #GESP编程能力测评、 #青少年编程等级考试、 #教育部白名单比赛辅导 以及 #青少年编程组队竞赛 等活动。
