返回试卷目录

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

GESP Python 编程一级 · 2026 年 9 月卷

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

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

  1. 1.单选题2 分

    第二届世界人形机器人运动会开幕式上,机器人方阵通过控制程序来完成整场表演。表演前,工程师们使用集成开发环境(IDE)编写并调试方阵的控制程序。下列关于 IDE 功能的描述,错误的是( )。

    • A.可以提供代码自动补全,提高编程效率
    • B.可以提供辅助信息,帮助排查程序逻辑错误
    • C.可以直接控制机器人电机转动
    • D.支持语法高亮,使代码更易阅读
  2. 2.单选题2 分

    现代计算机自问世至今,已经经历了四个时代,即:电子管计算机(1946—1958 年)、晶体管计算机(1958—1964 年)、中小规模集成电路计算机(1965—1970 年)以及大规模和超大规模集成电路计算机(1971 年至今)。那么这里划分计算机时代所采用的主要依据是( )。

    • A.运算速度
    • B.存储容量
    • C.体积大小
    • D.核心元器件
  3. 3.单选题2 分

    下列 Python 代码执行后,其输出是( )。 1 a = 4 2 print(f"a+2={a+2}")

    • A.a+2=6
    • B.a+2={a+2}
    • C.6=6
    • D.4+2=6
  4. 4.单选题2 分

    下列 Python 表达式与2 * - 2 ** 4的值相同的是( )。

    • A.(2 * - 2) ** 4
    • B.2 * (- 2) ** 4
    • C.2 * - (2 ** 4)
    • D.- (2 * 2) ** 4
  5. 5.单选题2 分

    下列 Python 代码执行后,其输出是( )。 1 a = 3 2 b = 4 3 print(a, b, sep = "#")

    • A.3 4
    • B.3#4
    • C.3 # 4
    • D.3 4
  6. 6.单选题2 分

    下列 Python 代码执行后,其输出是( )。 1 a = 8 2 b = 10 3 print(a % b, a / b, a // b )

    • A.8 0.8 0
    • B.0 0.8 0
    • C.8 0 0.8
    • D.0 0 0.8
  7. 7.单选题2 分

    下列 Python 代码中,a * a + b * b == c * c可替换为( )。 1 a = int(input()) 2 b = int(input()) 3 c = int(input()) 4 if a * a + b * b == c * c: 5 print("1")

    • A.a ** 2 + b ** 2 == c ** 2
    • B.a ** 2 + b ** 2 = c ** 2
    • C.a ** a + b ** b = c ** 2
    • D.a ** a + b ** b == c ** c
  8. 8.单选题2 分

    下列 Python 代码执行后,其输出是( )。 1 cnt = 0 2 for i in range(10): 3 cnt += 1 4 print(i, cnt)

    • A.10 10
    • B.9 9
    • C.10 9
    • D.9 10
  9. 9.单选题2 分

    下列 Python 代码执行后,其输出是( )。 1 cnt = 0 2 for i in range(-10, 0): 3 cnt += 1 4 print(i * cnt)

    • A.-10
    • B.-9
    • C.0
    • D.9
  10. 10.单选题2 分

    下列 Python 代码执行后,其输出是( )。 1 for i in range(1,5): 2 if i % 3 == 0: 3 print(i, end = "+") 4 continue 5 else: 6 print(i, end = "-") 7 break 8 print(i, "END", end = "#")

    • A.1-1
    • B.1+1 END#
    • C.1+1-2-2 END#
    • D.1-1 END#
  11. 11.单选题2 分

    如下 Python 代码执行时,下列说法错误的是( )。 1 N = int(input("请输入整数:")) 2 tot = 0 3 while N > 0: 4 print(N, end = "#") 5 tot += 1 6 N -= 1 7 print(tot, "END", sep ="-")

    • A.如果输入3,输出是:3#2#1#3-END
    • B.如果输入-10,输出是:0-END
    • C.如果输入0,输出是:0-END
    • D.如果输入1,输出是:1#0-END
  12. 12.单选题2 分

    下列 Python 代码执行时如输入 35,输出如下图所示。横线处应填入的代码是( )。 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 1 N = int(input()) 2 tot = 0 3 for i in range(N): 4 print(__________, end = "") 5 tot = tot + 1 6 if tot % 10 == 0: 7 print()

    • A.f"{N:3}"
    • B.f"{N - i:3}"
    • C.N - i
    • D.N
  13. 13.单选题2 分

    下列 Python 代码执行后,其画出的直线数量是( )。 1 import turtle 2 turtle.goto(100,100) 3 turtle.goto(100,0) 4 turtle.home() 5 turtle.done()

    • A.1
    • B.2
    • C.3
    • D.4
  14. 14.单选题2 分

    下列 Python 代码执行后,海龟朝向是( )。 1 import turtle 2 turtle.left(90) 3 turtle.forward(100) 4 turtle.penup() 5 turtle.goto(0,0) 6 turtle.done()

    • A.向右
    • B.向上
    • C.向左
    • D.向下
  15. 15.单选题2 分

    要实现如下图所示的执行效果,横线应填入的代码是( )。 1 import turtle 2 for i in range(____________): 3 if i % 2 == 0: 4 turtle.fillcolor("lightgray") #浅灰 5 else: 6 turtle.fillcolor("darkgray") #深灰 7 turtle.begin_fill() 8 turtle.circle(20 * i) 9 turtle.end_fill() 10 turtle.done()

    第 15 题配图
    • A.5
    • B.1, 5
    • C.5, 0, -1
    • D.5, 0
  16. 16.判断题2 分

    Python 程序执行input()函数时通常是使用键盘等输入设备来输入某个变量的值。

  17. 17.判断题2 分

    如果 n 为 3 位数的正整数,则 Python 表达式 n % 100 将能得到最高位。如 n 为 123,则该表达式的值为 1。

  18. 18.判断题2 分

    下面 Python 代码执行后将输出20。 1 for i in range(0, 20, 3): 2 if i % 3 != 0: 3 continue 4 print(i)

  19. 19.判断题2 分

    下列 Python 代码执行时如果先后输入 10 和 10,则将输出 10小于等于10。 1 N = int(input()) 2 M = int(input()) 3 if N > M: 4 print(f"{N}大于{M}") 5 else: 6 print(f"{N}小于等于{M}")

  20. 20.判断题2 分

    如下 Python 代码如果输入大于 0 的整数,则可以求 1 到N之和。 1 N = int(input("请输入正整数:")) 2 tot = 0 3 while N > 0: 4 tot += N 5 N += -1 6 print(tot)

  21. 21.判断题2 分

    在 Python 中,执行print( 10 > 9)后,其输出是TRUE。

  22. 22.判断题2 分

    在下列 Python 代码中,如果 N 和 M 均输入大于 0 的整数,则可以取得正整数 N 的从右到左第 M 位置的数。个位数为第 1 位置,M 不大于 N 的位数。 1 N = int(input("请输入正整数:")) 2 M = int(input("从右到左第几位?")) 3 print(N // (10 ** (M - 1)) % 10)

  23. 23.判断题2 分

    求解鸡兔同笼。在如下 Python 代码中,tou代表鸡和兔的头总数,jiao代表鸡和兔的脚总数。先后两个输入均为正整数。该程序能求解鸡兔同笼。 1 tou = int(input("请输入鸡和兔的头总数:")) 2 jiao = int(input("请输入鸡和兔的脚总数:")) 3 for tu_tou in range(tou + 1): 4 ji_tou = tou - tu_tou 5 if tu_tou * 4 + ji_tou * 2 == jiao: 6 print(f"兔的数量={tu_tou},鸡的数量={ji_tou}") 7 if tu_tou == tou: 8 print("无解")

  24. 24.判断题2 分

    在 Python turtle中,turtle.right(90)与turtle.left(-90)的效果相同。

  25. 25.判断题2 分

    下列 Python 代码执行后,将产生只有两条互相垂直的直线。 1 import turtle 2 turtle.goto(-50,0) 3 turtle.goto(0,50) 4 turtle.goto(50,0) 5 turtle.goto(0,-50) 6 turtle.done()

  26. 26.编程题25 分

    试题名称:新龟兔赛跑 时间限制:1.0 s 内存限制:512.0 MB 题目描述:自从上次龟兔赛跑,兔子因为轻敌而惨败后,一直心有不甘,因此有了新一届龟兔赛跑。 乌龟和上次一样,将会以恒定的速度往终点爬行,题目将给出乌龟从起点到终点所需时间; 兔子并没有吸取教训,只是打算在终点前少睡一会儿,题目将给出兔子的速度,和兔子打算在终点前睡觉的时间; 起点和终点之间的距离固定为 1000.0,请帮忙计算乌龟和兔子谁会获胜? 输入格式:输入包含 3 行,每行一个浮点数: 第 1 行的浮点数表示乌龟从起点到终点所需时间; 第 2 行的浮点数表示兔子的速度; 第 3 行的浮点数表示兔子打算在终点前睡觉的时间。 输出格式:输出包含 2 行: 第 1 行,如果乌龟获胜,输出 turtle;如果兔子获胜,输出 rabbit;如果平局,输出 tie; 第 2 行,输出兔子到达终点所需的总时间(含兔子睡觉的时间),保留两位小数。 输入样例1:20.0 100.0 11.0 输出样例1:turtle 21.00 样例解释1:兔子跑完全程所需时间是 1000.0 ÷ 100.0 = 10.0,而兔子要睡觉 11.0 单位时间,所以兔子一共需要 21.0 单位时间才能到达终点,这大于乌龟所需时间。 输入样例2:20.0 100.0 9.0 输出样例2:rabbit 19.00 样例解释2:与样例 1 类似,兔子跑完全程所需时间是 10.0,但兔子仅睡觉 9.0 单位时间,所以兔子一共需要 19.0 单位时间就能到达终点,这小于乌龟所需时间。 数据范围:所有输入均有且仅有一位小数,且是不超过 1000.0 的正数。 本题默认给出的数值均为龟兔世界中的标准单位,不需要进行任何单位换算。 路程 = 速度 × 时间

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

  27. 27.编程题25 分

    试题名称:棋盘上的奖赏 时间限制:1.0 s 内存限制:512.0 MB 题目描述:相传古印度舍罕王为了奖赏宰相西萨发明国际象棋,西萨提的任何要求舍罕王都愿意满足。西萨只求在棋盘第 1 格放 1 粒麦子,第 2 格放 2 粒麦子,之后每一格都放前一格两倍的麦子,以此类推直到第 64 格。国王觉得这奖赏微不足道,立刻命人取粮。 然而麦子的数量飞速增长:到第 20 格已需上百万粒,到第 40 格就耗尽了全国库存,而后面仍有 24 格。最终国王发现,即便倾尽天下粮食也填不满棋盘。 聪明的你知道前 n 格总共需要多少粒麦子吗? 输入格式:一行,一个整数 n。 输出格式:一行,一个整数,表示前 n 格总共需要的麦子粒数。 输入样例1:3 输出样例1:7 输入样例2:10 输出样例2:1023 数据范围:对于 40% 的测试点,保证 1 ≤ n ≤ 10。 对于所有测试点,保证 1 ≤ n ≤ 30。

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