GESP Python 编程二级 · 2026 年 6 月卷
GESP · Python · 共 27 题 · 满分 100 分
姓名:____________日期:____________得分:____________
- 1.单选题2 分
学校组织同学们到未来农场参观,小明听讲解员介绍。在智能温室中,湿度传感器可以连续检测土壤的湿度,并将检测到的湿度数据实时发送给中央控制器。中央控制器根据这些数据判断是否开启灌溉系统。请问,这里的湿度传感器所发挥的作用,类似于计算机系统中的哪一类组件?()
- A.处理器
- B.存储器
- C.输入设备
- D.输出设备
- 2.单选题2 分
小明同学去郊外农场参观回来后,在自己的电脑中安装了一个 3D 农场仿真模拟系统。因为他今年买的这台二手电脑有点老旧,3D 农场仿真模拟系统运行时经常弹出“系统内存不足”的警告,导致系统卡顿严重。他计划通过增加物理内存来解决问题。请问他应该购买以下哪种硬件组件?()
- A.机械硬盘
- B.内存条
- C.图形显卡
- D.移动硬盘
- 3.单选题2 分
有关如下 Python 代码的说法,正确的是()。 1 a = 3 + 3.5 2 print(a)
- A.代码执行将报错。如果将a = 3 + 3.5改为a = float(3) + 3.5将能正常执行。
- B.代码执行将报错。如果将a = 3 + 3.5改为a = 3.0 + 3.5将能正常执行。
- C.代码能正常执行,将输出6。
- D.代码能正常执行,将输出6.5。
- 4.单选题2 分
下面选择项中,与 Python 表达式 not (x > 5 or y <= 10) 等价的是( )。
- A.x <= 5 or y > 10
- B.x > 5 and y <= 10
- C.x <= 5 and y > 10
- D.not x > 5 or not y <= 10
- 5.单选题2 分
某同学执行 Python 代码print(2.5+2.25,2.2+2.1)时输出4.75 4.300000000000001,其原因是()。
- A.Python 的+运算符在处理浮点数时有时正确,有时错误
- B.某些浮点数难以精确表示,导致微小误差
- C.+运算符不能用于浮点数,只能用于整数
- D.因为print()函数难以输出太长的数值
- 6.单选题2 分
执行如下 Python 程序后,当输入4时,输出的最后一行是()。 1 n = int(input()) 2 for i in range(n, 0, -1): 3 for j in range(i): 4 print(j + 1, end='#') 5 print()
- A.0#
- B.1#
- C.1#2#
- D.1#2#3#4#
- 7.单选题2 分
下面的 Python 代码执行后其输出是()。 1 tnt = 0 2 for i in range(1, 5, 3): 3 for j in range(i): 4 tnt += 1 5 print(tnt, end = "#") 6 print(tnt)
- A.1#5#5
- B.1#5#5#
- C.1#5#12#12
- D.0
- 8.单选题2 分
下面的 Python 代码执行后的输出是()。 1 for i in range(-2, 2): 2 if not i % 3 == 0: 3 print(i, end = "#") 4 print(i)
- A.-2#-1#1#1
- B.-2#-1#1#1#2
- C.1#2#2
- D.0#1#2
- 9.单选题2 分
下面的 Python 代码执行后其输出是( )。 1 cnt = 0 2 for i in range(3): 3 j = i 4 while j: 5 cnt += 1 6 j -= 1 7 print(i, j, cnt)
- A.2 0 3
- B.2 0 4
- C.2 0 5
- D.3 0 5
- 10.单选题2 分
下面 Python 代码执行后其输出是()。 1 count = 0 2 for i in range(1, 4): 3 for j in range(i): 4 if j % 3 != 0: 5 continue 6 count += 1 7 break 8 print(i, j, count)
- A.4 0 4
- B.3 0 0
- C.3 2 0
- D.3 0 3
- 11.单选题2 分
如下 Python 代码执行后输出是 1 2 3 4 5 6 7 8 9 10 11 5 6 7 8 9 10 11 5 6 7 8 9 10 11 5 6 7 8 9 10 11 5 6 7 之值。横线处应该填入的运算符是( )。 1 num = 1 2 for i in range(35): 3 print(num, end = " ") 4 if num ______ 10: 5 num _______ 2 6 else: 7 num _______ 1
- A.> //= +=
- B.>= //= +=
- C.> /= +=
- D.> //= =+
- 12.单选题2 分
如下的 Python 代码用于输出如下数字图形。横线处应填入的代码是( )。 1 N = int(input()) 2 for i in range(1, N + 1): 3 for j in range(1, N + 1): 4 if ______________________________________: 5 print(1, end = " ") 6 else: 7 print(0, end = " ") 8 print()

- A.i == j and i == 1 and j == 1 and i == N and j == N
- B.i == j or i == 1 or j == 1 or i == N or j == N
- C.i == j or i == 0 or j == 0 or i == (N + 1) or j == (N + 1)
- D.i == j and i == 1 and j == 1 and i == (N + 1) and j == (N + 1)
- 13.单选题2 分
corner case 通常翻译为极端案例或边角案例,通常指正常范围以外的问题或是情形。在如下 Python 代码中,corner case 是( )。 1 tnt, cnt = 0, 0 2 while True: 3 score = int(input()) 4 if score == -1: 5 break 6 tnt += score 7 cnt += 1 8 print(tnt / cnt)
- A.tnt, cnt = 0, 0是corner case,应分为两行
- B.while True是corner case,因为while True将会导致死循环
- C.score = int(input())是corner case,因为input()应该有提示信息
- D.print(tnt / cnt)是corner case,因为如果直接录入-1,将导致错误,虽然这种情况较为罕见
- 14.单选题2 分
如下 Python 代码执行时,输入 4 后,输出的数字图形是( )。 1 n = int(input()) 2 for i in range(n, 0, -1): 3 for j in range(n - i): 4 print(0, end=" ") 5 for k in range(i): 6 print(k + 1, end=" ") 7 print()
- A.

- B.

- C.

- D.

- A.
- 15.单选题2 分
某学校举办“校园演讲比赛”,每位选手由 8 位评委打分(分数为 0~10 的整数),且每位评委必须打分。 计分规则:去掉一个最高分,去掉一个最低分。如下程序通过键盘先输入选手编号,然后依次输入 8 个分数,并计算最终得分。下列说法正确的是( )。 1 for _ in range(10): 2 id = int(input("输入选手编号:")) 3 max_score, min_score = 0, 100 # 最高分和最低分 4 total_score = 0 # 总分 5 for i in range(1, 9): 6 score = int(input(f"输入选手第{i}个成绩:")) 7 if max_score < score: 8 max_score = score 9 if min_score > score: 10 min_score = score 11 total_score += score 12 total_score = total_score - max_score - min_score 13 print(f""" 14 {id}号选手的成绩: 15 去掉一个最高分{max_score}, 16 去掉一个最低分{min_score}, 17 最后成绩是:{total_score}""")
- A.上述代码能完成题目要求
- B.max_score, min_score = 0, 100应修改为max_score, min_score = 0, 0
- C.max_score < score和min_score > score必须相应修改为<=和>=
- D.total_score = total_score - max_score - min_score不能达到预期,可修改如下: total = total_score - max_score - min_score total_score = total
- 16.判断题2 分
又到期末考试周,小明发现这次许多闭卷考试不仅禁止携带手机、平板电脑,还有最近比较时髦的各类 AI眼镜(也有叫智能眼镜)也同样不允许带入考场。这些 AI 眼镜应该也是内置了操作系统并可能支持 Wi-Fi 或蓝牙连接。
- 17.判断题2 分
Python 代码print(not (5 % 2 == 0) == ((not 5 % 2) == 0))执行后的输出是True。
- 18.判断题2 分
执行 Python 代码print(not 5)将报错。
- 19.判断题2 分
下面 Python 代码执行后将输出1-4-7-。 1 for i in range(1,10,3): 2 if not i % 3: 3 break 4 print(i, end = "-")
- 20.判断题2 分
执行如下 Python 代码,将从小到大依次输出共 |N| 个整数,这里 |N| 表示 N 的绝对值,如 |−3| = 3。 1 N = int(input()) 2 start_num, end_num = 1, N + 1 3 if N < 0: 4 start_num, end_num = N, 0 5 for i in range(start_num, end_num): 6 print(i, end = " ")
- 21.判断题2 分
如下 Python 代码执行后,输出值为9。 1 cnt = 0 2 for i in range(10): 3 for j in range(i): 4 cnt += 1 5 break 6 print(i)
- 22.判断题2 分
如下 Python 代码执行时如输入10,输出将是100。 1 cnt = 0 2 N = int(input("请输入正整数:")) 3 for i in range(N): 4 for j in range(-i, i): 5 cnt += 1 6 print(cnt)
- 23.判断题2 分
如下 Python 代码执行其输出是3。 1 count = 0 2 i = 0 3 while i < 3: 4 j = 0 5 while j < 3: 6 if i + j >= 3: 7 count += 1 8 j += 1 9 i += 1 10 print(count)
- 24.判断题2 分
执行如下 Python 代码时,如果输入正整数,其输出为该正整数。 1 N = int(input()) 2 i = 0 3 rst = 0 4 while N != 0: 5 rst = rst + N % 10 * 10 ** i 6 N //= 10 7 i += 1 8 print(rst)
- 25.判断题2 分
如下 Python 代码执行时如输入 5,将输出代码后的字符图形。 1 n = int(input()) 2 for i in range(1, n + 1): 3 for j in range(1, n - i + 1): 4 print(0, end='') 5 for k in range(1, 2 * i): 6 if k <= i: 7 print(k, end='') 8 else: 9 print(2 * i - k, end='') 10 for j in range(1, n - i + 1): 11 print(0, end='') 12 print() 000010000 000121000 001232100 012343210 123454321
- 26.编程题25 分
试题名称:完全平方数计数 时间限制:1.0 s 内存限制:512.0 MB 题目描述:小杨同学正在研究完全平方数。 平方:一个数的平方等于这个数乘以这个数本身。 完全平方数:指可以恰好表示为某个正整数的平方的数。 例如,9 是完全平方数,因为 9 = 3² = 3 × 3;但 27 不是,因为 27 不能表示为任何正整数的平方。 给定两个正整数 l 和 r(保证 l ≤ r),小杨同学想知道 l 到 r 之间的所有正整数中(包含 l 和 r),有多少个数是完全平方数。 输入格式:输入两行,第一行为一个正整数 l,第二行为一个正整数 r。 输出格式:输出一个非负整数,表示 l 到 r 中,有多少个正整数是完全平方数。如果 l 到 r 中没有完全平方数,则输出 0。 输入样例1:1 21 输出样例1:4 样例解释1:在 1 到 21 中,有以下 4 个整数是完全平方数:1, 4, 9, 16 数据范围:1 ≤ l ≤ r ≤ 2000。
作答说明:按题目要求完成程序或作品;需要在线运行与自动判分时,可在站内选择「在线考试」。
- 27.编程题25 分
试题名称:菱形 时间限制:1.0 s 内存限制:512.0 MB 题目描述:给定正整数 n,在 (2n − 1) × (2n − 1) 个网格的画布中,使用字符画一个边长为 n 个网格的菱形。其中,空白网格使用 . 表示,菱形边所在的网格用 + 表示。 例如当 n = 3 时,图形如下: ..+.. .+.+. +...+ .+.+. ..+.. 输入格式:输入一个正整数 n; 输出格式:输出 2n − 1 行,表示按要求画的菱形。 输入样例1:4 输出样例1:...+... ..+.+.. .+...+. +.....+ .+...+. ..+.+.. ...+... 数据范围:3 ≤ n ≤ 15。
作答说明:按题目要求完成程序或作品;需要在线运行与自动判分时,可在站内选择「在线考试」。