GESP Python 编程一级 · 2026 年 9 月卷
GESP · Python · 共 27 题 · 满分 100 分
姓名:____________日期:____________得分:____________
- 1.单选题2 分
第二届世界人形机器人运动会开幕式上,机器人方阵通过控制程序来完成整场表演。表演前,工程师们使用集成开发环境(IDE)编写并调试方阵的控制程序。下列关于 IDE 功能的描述,错误的是( )。
- A.可以提供代码自动补全,提高编程效率
- B.可以提供辅助信息,帮助排查程序逻辑错误
- C.可以直接控制机器人电机转动
- D.支持语法高亮,使代码更易阅读
- 2.单选题2 分
现代计算机自问世至今,已经经历了四个时代,即:电子管计算机(1946—1958 年)、晶体管计算机(1958—1964 年)、中小规模集成电路计算机(1965—1970 年)以及大规模和超大规模集成电路计算机(1971 年至今)。那么这里划分计算机时代所采用的主要依据是( )。
- A.运算速度
- B.存储容量
- C.体积大小
- D.核心元器件
- 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.单选题2 分
下列 Python 表达式与2 * - 2 ** 4的值相同的是( )。
- A.(2 * - 2) ** 4
- B.2 * (- 2) ** 4
- C.2 * - (2 ** 4)
- D.- (2 * 2) ** 4
- 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.单选题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.单选题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.单选题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.单选题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.单选题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.单选题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.单选题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.单选题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.单选题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.单选题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()

- A.5
- B.1, 5
- C.5, 0, -1
- D.5, 0
- 16.判断题2 分
Python 程序执行input()函数时通常是使用键盘等输入设备来输入某个变量的值。
- 17.判断题2 分
如果 n 为 3 位数的正整数,则 Python 表达式 n % 100 将能得到最高位。如 n 为 123,则该表达式的值为 1。
- 18.判断题2 分
下面 Python 代码执行后将输出20。 1 for i in range(0, 20, 3): 2 if i % 3 != 0: 3 continue 4 print(i)
- 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.判断题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.判断题2 分
在 Python 中,执行print( 10 > 9)后,其输出是TRUE。
- 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.判断题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.判断题2 分
在 Python turtle中,turtle.right(90)与turtle.left(-90)的效果相同。
- 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.编程题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.编程题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。
作答说明:按题目要求完成程序或作品;需要在线运行与自动判分时,可在站内选择「在线考试」。