旨在为小朋友们提供全面的学习材料,共同为等级考试做好准备。
添加小助手微信,回复【GESP 2026.06Python四级】,获取本套试题答案。
1、学校组织同学们到未来农场参观,小明听讲解员介绍。在智能温室中,湿度传感器可以连续检测土壤的湿度,并将检测到的湿度数据实时发送给中央控制器。中央控制器根据这些数据判断是否开启灌溉系统。请问,这里的湿度传感器所发挥的作用,类似于计算机系统中的哪一类组件?( )
2、小明同学去郊外农场参观回来后,在自己的电脑中安装了一个 3D 农场仿真模拟系统。因为他今年买的这台二手电脑有点老旧,3D 农场仿真模拟系统运行时经常弹出“系统内存不足”的警告,导致系统卡顿严重。他计划通过增加物理内存来解决问题。请问他应该购买以下哪种硬件组件?( )
3、执行下面Python代码后,输出的结果是?( )
a = {1: [2], 3: [4]} b = a.copy() b[1].append(3) print(a[1])[2][2, 3]{1: [2, 3]}4、如果想要将一个二维列表matrix = [[1, 2], [3, 4], [5, 6]]扁平化为[1, 2, 3, 4, 5, 6],应使用下列哪个列表推导式?
[item for item in matrix][item for row in matrix for item in row][row for row in matrix for item in row][row for item in matrix for item in row]5、执行下面Python代码后,输出的结果是?( )
deffunc(x, lst=[]): lst.append(x)return lstprint(func(1), func(2), func(3))[1] [2] [3][1] [1, 2] [1, 2, 3][3] [3] [3][1, 2, 3] [1, 2, 3] [1, 2, 3]6、执行下面Python代码后,输出的结果是?( )
deffunc(x, y, *args, z=10, **kwargs):return x + y + z + sum(args) + kwargs.get('m', 0)result = func(1, 2, 3, 4, z=5, m=6, n=7)print(result)7、与列表推导式[i**2 for i in range(10)]功能等价的map函数调用是?( )
list(map(i: i ** 2, range(10)))list(map(lambda i: i ** 2, range(10)))map(lambda i: i ** 2, list(range(10)))map(i ** 2 for i in range(10))8、以下代码的功能是读取一个二进制图片文件pic.jpg并复制到pic_copy.jpg,空白处应填入?( )
with open('pic.jpg', '__①__') as src, open('pic_copy.jpg', '__②__') as dst: dst.write(src.read())'r' ②'w''rb' ②'wb''r+' ②'w+''a' ②'wb'9、以下函数的时间复杂度是?( )
defexample(n): matrix = [[0] * n for _ in range(n)]for i in range(n):for j in range(n): matrix[i][j] = i * jreturn matrix10、执行下面Python代码后,输出的结果是?( )
deftest_function():try:return"From try"finally: print("From finally", end="#")print(test_function(), end="#")11、若输入 5,以下程序的输出结果是?( )
n = int(input())f = [0] * (n + 1)f[0] = 1for i in range(1, n + 1): f[i] = f[i - 1] * iprint(f[n])12、关于以下代码,说法正确的是?()
words = ["apple", "Cherry", "Banana"]sorted_words = sorted(words, key=lambda s: s.lower())"Banana"会排在"apple"前面,因为大写字母ASCII码小于小写字母。key=lambda s: s.lower()可以替换为key=str.lower,效果相同。words中的元素顺序。sorted函数不能直接对字符串列表进行排序。13、某电商平台根据用户的会员等级计算商品最终价格。等级与折扣率的对应关系存储在字典discounts中。为了保证程序在面对未知等级时不会报错,而是按原价(即不打折)处理,以下哪个选项是正确的?( )
defcalculate_price(price, level): discounts = {"VIP": 0.8, "SVIP": 0.6}# 请补全代码 discount_rate = ______①______return ______②______final_price = calculate_price(100, "VIP")print(final_price)discounts.get(level, 1.0) ② price * discount_ratediscounts[level] ② price * discount_ratediscounts.get(level) ② price / discount_ratelevel in discounts ② price * (1 - discount_rate)14、有一个名为 score.txt的文本文件,内容如下(第一行为标题行,后面每行包含姓名和分数,用空格分隔):
姓名 分数张三 85李四 42王五 90赵六 78编写一段 Python 代码,读取该文件,统计及格人数(分数 ≥ 60 分),并在最后输出统计结果,以下哪个选项是正确的?( )
count = 0with open("score.txt", "r") as f: lines = f.readlines()for i in range(1, len(lines)): data = lines[i].______ # 此处需要填入适当的方法 score = int(data[1])if score >= 60: count += 1print("及格人数:", count)split()strip()read()splitlines()15、商品列表已按特定规则排序,每个商品包含三个信息:编号、价格、库存量,对应三元组 (id, price, stock)。现有预算 M元,按排好的顺序依次购买,只要当前商品的价格不超过剩余预算就购买并扣款,否则立即停止。以下哪个选项是正确的?( )
budget = Mproducts.sort(key=lambda x: (x[1], x[2], x[0])) # 按规则排序bought = []for item in products:if ________ : # 此处需要填入适当的代码 budget -= item[1] bought.append(item[0]) else:breakbudget > 0 and item[2] != 0budget >= item[1] and item[2] != 0budget > item[1] and item[2] > 0budget <= item[1] and item[2] > 01、⼜到期末考试周, ⼩明发现这次许多闭卷考试不仅禁⽌携带⼿机、 平板电脑, 还有最近⽐较时髦的各类 AI 眼镜(也有叫智能眼镜) 也同样不允许带⼊考场。 这些 AI 眼镜应该也是内置了操作系统并可能⽀持 Wi-Fi 或蓝⽛连接。
2、执行 [[j for j in range(i)] for i in range(3)] 解析式的结果是[[0], [0,1]]。
3、使用global关键字在函数内部创建的变量,在函数执行结束后依然存在。
4、执行以下代码后,输出结果为 (1, 'a')。
pairs = [(2, 'b'), (1, 'a'), (3, 'c')]result = min(pairs, key=lambda p: p[0])print(result)5、在Python中,read()方法会一次性读取整个文件内容,返回字符串;readlines()方法会一次性读取所有行,返回行列表。
6、以下函数的空间复杂度为。
deffunc(n):return [i ** 2for i in range(n)]7、在Python的异常处理结构中,try块后面可以只跟随finally块,而不需要包含任何except块。
8、已知递推关系式为 (其中 ),为了保证对所有 的计算都不出现负数下标,必须提供的初始值至少包括 这五个值。
9、选择排序是稳定的排序算法,因为它在每次选择最小元素时不会改变相等元素的相对顺序。
10、执行以下代码后,输出结果为 2。
n, m = 3, 4grid = [[1, 3, 2, 4], [5, 7, 6, 8], [9, 0, 1, 2]]dx = [-1, -1, -1, 0, 0, 1, 1, 1]dy = [-1, 0, 1, -1, 1, -1, 0, 1]count = 0for i in range(n):for j in range(m): lower_neighbors = 0for k in range(8): x, y = i + dx[k], j + dy[k]if0 <= x < n and0 <= y < m and grid[x][y] < grid[i][j]: lower_neighbors += 1if lower_neighbors >= 5: count += 1print(count)【提交】
https://www.luogu.com.cn/problem/B4557
【问题描述】
小杨同学正在游玩经典游戏「扫雷」,他想自己生成一个「扫雷」的地图。
小杨同学希望生成的地图大小为 行 列,一共 个区块。
区块行号为 ,列号为 。 其中一些区块为雷区,其它区块不为雷区。
小杨同学指定了 个区块为雷区,而其它区块均不为雷区。小杨同学希望你帮忙计算非雷区的区块,每个区块与多少个雷区相邻?
我们定义区块相邻,当且仅当两个区块至少有一个公共顶点(也就是说对于不在地图边缘的区块,周围 个区块均与其相邻)。
【输入描述】
输入包含 行。第一行,三个正整数 , 和 ,分别表示地图行数和列数,以及雷区数量。接下来的 行,每行有 个整数,分别表示第 个雷区的行号和列号。
保证输入的雷区不重复。
【输出描述】
输出 行,每行 个 字符(使用空格分割),对于第 行第 列,输出地图对应区块的信息:
*;【样例输入1】
3 4 41 11 32 43 2【样例输出1】
* 2 * 22 3 3 *1 * 2 1【样例解释1】
根据输入,在 的地图上有 个雷区,分别是 ,, 和 ,如输出样例中 * 所示,其它非雷区区块的相邻雷区数量可以直观看出。
【数据范围】
。
输入的雷区必定在地图内且不重复,注意行号和列号均从 开始。
【提交】
https://www.luogu.com.cn/problem/B4558
【问题描述】
一个人的身高体重指数(BMI)等于其体重(千克为单位)除以其身高(米为单位)的平方。 例如,一个体重为 ,身高为 的人的身高体重指数为 。
现在有 个小朋友,第 个小朋友的编号为 ,体重为 ,身高为 。 请按照身高体重指数从高到低为小朋友们排序,数据保证不存在两个小朋友的身高体重指数完全相同。输出排序后小朋友的编号。
【输入描述】
输入 行,第一行为一个正整数 ,表示小朋友的个数;第二行为 个整数 表示小朋友们的体重,单位为 ;第三行为 个浮点数 表示小朋友们的身高,单位为 。
【输出描述】
输出一行 个数,表示按照身高体重指数从高到低排序后的编号。
【样例输入1】
345 33 391.55 1.33 1.44【样例输出1】
3 1 2【样例解释1】
三个小朋友(编号依次为 1,2,3)的身高体重指数分别为(保留两位小数的结果):,,,故排序后输出的编号为 3 1 2。
【数据范围】
,,, 均恰有两位小数。
青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的 #21天刷题打卡、 #GESP编程能力测评、 #青少年编程等级考试、 #教育部白名单比赛辅导 以及 #青少年编程组队竞赛 等活动。
