GESP_2026年06月_Python四级试卷
从PDF导入:GESP_2026年06月_Python四级试卷
试卷题目预览
学校组织同学们到未来农场参观,小明听讲解员介绍。在智能温室中,湿度传感器可以连续检测土壤的湿度,并将检测到的湿度数据实时发送给中央控制器。中央控制器根据这些数据
小明同学去郊外农场参观回来后,在自己的电脑中安装了一个 3D 农场仿真模拟系统。因为他今年买的这台二手电脑有点老旧,3D 农场仿真模拟系统运行时经常弹出“系统内
执行下面 Python 代码后,输出的结果是?
a = {1: [2], 3: [4]}
b = a.copy()
b[1].append(3)
print(a[1])
如果想要将一个二维列表 matrix = [[1, 2], [3, 4], [5, 6]] 扁平化为 [1, 2, 3, 4, 5, 6],应使用下列哪个列表推
执行下面 Python 代码后,输出的结果是?
def func(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)
与列表推导式 [i**2 for i in range(10)] 功能等价的 map 函数调用是?
以下代码的功能是读取一个二进制图片文件 pic.jpg 并复制到 pic_copy.jpg,空白处应填入?
以下函数的时间复杂度是?
执行下面 Python 代码后,输出的结果是?
若输入 5,以下程序的输出结果是?
关于以下代码,说法正确的是?
某电商平台根据用户的会员等级计算商品最终价格。等级与折扣率的对应关系存储在字典 discounts 中。为了保证程序在面对未知等级时不会报错,而是按原价处理,以
有一个名为 score.txt 的文本文件,第一行为标题行,后面每行包含姓名和分数,用空格分隔。编写代码统计及格人数(分数 ≥ 60 分)。空白处应填入?
商品列表已按特定规则排序,每个商品包含 (id, price, stock)。现有预算 M 元,按排好的顺序依次购买,只要当前商品的价格不超过剩余预算且尚有库存
又到期末考试周,小明发现这次许多闭卷考试不仅禁止携带手机、平板电脑,还有最近比较时髦的各类 AI 眼镜(也有叫智能眼镜)也同样不允许带入考场。这些 AI 眼镜应
执行 [[j for j in range(i)] for i in range(3)] 解析式的结果是 [[0], [0, 1]]。
使用 global 关键字在函数内部创建的变量,在函数执行结束后依然存在。
执行以下代码后,输出结果为 (1, 'a')。
在 Python 中,read() 方法会一次性读取整个文件内容,返回字符串;readlines() 方法会一次性读取所有行,返回行列表。
以下函数的空间复杂度为 O(1)。
在 Python 的异常处理结构中,try 块后面可以只跟随 finally 块,而不需要包含任何 except 块。
已知递推关系式为 F(n) = F(n-3) + F(n-5)(其中 n ≥ 5),为了保证对所有 n ≥ 0 的计算都不出现负数下标,必须提供的初始值至少包括
选择排序是稳定的排序算法,因为它在每次选择最小元素时不会改变相等元素的相对顺序。
执行以下代码后,输出结果为 2。
. 扫雷
小杨同学正在游玩经典游戏「扫雷」,他想自己生成一个「扫雷」的地图。地图大小为 n 行 m 列,其中一些区块为雷区,其它区块不为雷区。小杨指定了 q 个区块为雷区。请计算非雷区的每个区块与多少个雷区相邻。相邻定义为两个区块至少有一个公共顶点(即 8 个方向均算相邻)。
3 ≤ n, m ≤ 500,1 ≤ q ≤ n·m。输入的雷区必定在地图内且不重复。
【参考程序】
n, m, q = map(int, input().split())
# 地图,二维数组表示
mp = [[0 for _ in range(m)] for _ in range(n)]
# 将地图上 x 行 y 列的地方放上地雷
for _ in range(q):
x, y = map(int, input().split())
mp[x - 1][y - 1] = '*'
# 遍历整张地图
for i in range(n):
for j in range(m):
if mp[i][j] == '*':
continue
for di in [-1, 0, 1]:
for dj in [-1, 0, 1]:
ni, nj = i + di, j + dj
if 0 <= ni < n and 0 <= nj < m:
if mp[ni][nj] == '*':
mp[i][j] += 1
for i in range(n):
print(' '.join(map(str, mp[i])))
输入包含 q+1 行。第一行:三个正整数 n,m 和 q。接下来的 q 行:每行两个整数,表示雷区的行号和列号。
输出 n 行,每行 m 个字符(使用空格分割)。雷区输出 *,非雷区输出相邻雷区数量(0到 8)。
3 4 4 1 1 1 3 2 4 3 2
<pre class="inline-code">* 2 * 2 2 3 3 * 1 * 2 1
. 身高体重指数
身高体重指数(BMI)等于体重(kg)除以身高(m)的平方。现有 n 个小朋友,请按 BMI 从高到低为小朋友们排序,输出排序后小朋友的编号。保证没有两个人的 BMI 完全相同。
1 ≤ n ≤ 1000,10 ≤ 体重 ≤ 100,0.8 ≤ 身高 ≤ 1.9,身高保留两位小数。
第一行:正整数 n;第二行:n 个整数,表示体重;第三行:n 个浮点数,表示身高。
输出一行 n 个数,表示按 BMI 从高到低排序后的编号。
3 55 33 39 1.55 1.33 1.44
3 1 2