返回试卷目录

需要电子版时点「打印 / 保存为 PDF」,在打印对话框的「目标打印机」里选择「另存为 PDF」即可下载。登录后可下载,每天 10 次

GESP Python 编程二级 · 2026 年 6 月卷

GESP · Python · 共 27 题 · 满分 100 分

姓名:____________日期:____________得分:____________

  1. 1.单选题2 分

    学校组织同学们到未来农场参观,小明听讲解员介绍。在智能温室中,湿度传感器可以连续检测土壤的湿度,并将检测到的湿度数据实时发送给中央控制器。中央控制器根据这些数据判断是否开启灌溉系统。请问,这里的湿度传感器所发挥的作用,类似于计算机系统中的哪一类组件?()

    • A.处理器
    • B.存储器
    • C.输入设备
    • D.输出设备
  2. 2.单选题2 分

    小明同学去郊外农场参观回来后,在自己的电脑中安装了一个 3D 农场仿真模拟系统。因为他今年买的这台二手电脑有点老旧,3D 农场仿真模拟系统运行时经常弹出“系统内存不足”的警告,导致系统卡顿严重。他计划通过增加物理内存来解决问题。请问他应该购买以下哪种硬件组件?()

    • A.机械硬盘
    • B.内存条
    • C.图形显卡
    • D.移动硬盘
  3. 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. 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. 5.单选题2 分

    某同学执行 Python 代码print(2.5+2.25,2.2+2.1)时输出4.75 4.300000000000001,其原因是()。

    • A.Python 的+运算符在处理浮点数时有时正确,有时错误
    • B.某些浮点数难以精确表示,导致微小误差
    • C.+运算符不能用于浮点数,只能用于整数
    • D.因为print()函数难以输出太长的数值
  6. 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. 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. 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. 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. 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. 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. 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()

    第 12 题配图
    • 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. 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. 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.第 14 题选项 A
    • B.第 14 题选项 B
    • C.第 14 题选项 C
    • D.第 14 题选项 D
  15. 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. 16.判断题2 分

    又到期末考试周,小明发现这次许多闭卷考试不仅禁止携带手机、平板电脑,还有最近比较时髦的各类 AI眼镜(也有叫智能眼镜)也同样不允许带入考场。这些 AI 眼镜应该也是内置了操作系统并可能支持 Wi-Fi 或蓝牙连接。

  17. 17.判断题2 分

    Python 代码print(not (5 % 2 == 0) == ((not 5 % 2) == 0))执行后的输出是True。

  18. 18.判断题2 分

    执行 Python 代码print(not 5)将报错。

  19. 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. 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. 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. 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. 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. 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. 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. 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. 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。

    作答说明:按题目要求完成程序或作品;需要在线运行与自动判分时,可在站内选择「在线考试」。