GESP Python 编程一级 · 2026 年 3 月卷
GESP · Python · 共 27 题 · 满分 100 分
姓名:____________日期:____________得分:____________
- 1.单选题2 分
2026年春节联欢晚会上一个武术表演节目《武 BOT》。节目中多个人形机器人会表演空翻,它们落地可能会有微微踉跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作一个计算机系统,那么在该计算机系统下面哪一项不能作为输入设备( )。
- A.用于检测重心的重力传感器
- B.预装的AI算法程序
- C.接收动作指令的遥控器
- D.拍摄其他机器人的摄像头
- 2.单选题2 分
小明学习编程有一段时间了,他想在图形环境下把当前目录(或文件夹)下的文本文件 20260314.txt 的名字改一下。他用鼠标左键点击选中该文件后,立即完成下面哪个操作后将处于输入新文件名的状态( )。
- A.单击右键并选择弹出菜单中的“重命名”
- B.双击左键
- C.按功能键 F1
- D.按回车键
- 3.单选题2 分
有关下面 Python 代码的说法,正确的是( )。 PI = 3.1415926 print(PI)
- A.为了方便初学者,print(PI) 和 print(pi) 效果相同,即变量的大小写不敏感
- B.print(PI) 修改为 print(Pi) 能正常执行
- C.不能用 PI 做变量名,因为要保存圆周率这个常量
- D.将程序中 PI 全部改写为 Pai,将能正常执行,不会报错
- 4.单选题2 分
Python 表达式 3 * 3 ** 2 的值为( )。
- A.81
- B.27
- C.24
- D.18
- 5.单选题2 分
下面的 Python 代码执行后,其输出是( )。 a, b = 3, 4 print(a + 2, b - 2) print(a, b)
- A.5 2 3 4
- B.5 2 5 2
- C.52 34
- D.52 52
- 6.单选题2 分
下面 Python 代码的相关说法,正确的是( )。 N = int(input()) print(N)
- A.执行时如输入10,则将输出10
- B.执行时如输入3.14,则将输出3.14
- C.执行时如输入ABC,则将输出0
- D.执行时如输入-10,则将输出10
- 7.单选题2 分
下面 Python 代码执行时,其说法正确的是( )。 N = int(input()) M = int(input()) if N > M: print(N - M) else: print(M - N)
- A.不管输入是正数负数还是0,其输出结果肯定是大于等于0
- B.不管是负整数、正整数亦或0,其结果肯定是大于等于0
- C.如果N和M是相等的整数,将不会有输出
- D.如果N和M输入带有小数点的数,将按整数部分计算
- 8.单选题2 分
下面 Python 代码执行后的输出是( )。 tnt = 1 for i in range(5): tnt *= i print(tnt, i)
- A.24 5
- B.10 5
- C.24 4
- D.0 4
- 9.单选题2 分
Python 编程求数列 -1+2+3-4+5+6-7+8+9-10+11+12-13+...... 之值。如输入4,则计算1到4包含1和4之间的值,规律如数列所示。下面说法,正确的是( )。 N = int(input("请输入正整数: ")) tnt = 0 for i in range(1, N + 1): if i % 3 == 1: tnt += -i else: tnt += i print(tnt)
- A.range(1, N + 1) 应该修为 range(1, N) 才会符合预期
- B.i % 3 == 1 应修改为 i % 3 == 0 才会符合预期
- C.i % 3 == 1 修改为 i % 3 与当前程序效果相同
- D.当前代码能达到题目所描述目标
- 10.单选题2 分
下面 Python 代码的相关说法,正确的是( )。 for i in range(1, 10): if i % 2 == 0: continue else: print(i, end = "#") print(i,"END")
- A.上述代码执行后,其输出是 1#3#5#7#9#9END
- B.删除 else: 后的执行效果与当前代码相同
- C.删除 else: 且 print(i, end = "#") 与 if 对齐,则执行效果与当前代码相同
- D.将 print(i,"END") 与 if 对齐,其执行效果与当前代码相同
- 11.单选题2 分
下面的 Python 代码用于求正整数各位数之和(即数位和),约定高位不为0,如123则各位数之和为 1+2+3 结果为6。为实现该目标,横线处应该填写的代码是( )。 N = int(input()) tnt = 0 while N != 0: ____________ ____________ print("各位数数之和为: ", tnt)
- A.tnt += N // 10 N //= 10
- B.tnt += N % 10 N //= 10
- C.tnt += N % 10 N /= 10
- D.tnt = tnt + N % 10 N /= 10
- 12.单选题2 分
某个功能需要知道一个输入的正整数的各位数字中有多少个奇数,下面的 Python 代码是其实现,横线处应该填入的代码是( )。 N = int(input()) odd_count = 0 #记录奇数的个数 old_number = N #保存原数 while N != 0: if ________________: odd_count += 1 N = (N - N % 10) // 10 print(f"{old_number}中共有{odd_count}个奇数")
- A.N % 10 % 2 == 0
- B.N % 10 % 2 == 1
- C.N // 10 // 2 == 1
- D.N // 2 // 10 == 0
- 13.单选题2 分
下面的 Python 执行后如果输入 8,希望输出如下图形(从原点出发的 8 条均匀分布射线)。相关说法,正确的是( )。 import turtle N = int(input("请输入射线数量: ")) Angle = 360 / N #计算出每条射线之间间隔的角度 for i in range(N): turtle.right(Angle) turtle.forward(100) turtle.goto(0,0) turtle.done()

- A.Angle = 360 / N 应该修为 Angle = 360 // N 才能实现输出效果
- B.range(N) 修改为 range(1, N + 1) 效果相同,都能实现输出效果
- C.range(N) 修改为 range(1, N) 效果相同,都能实现输出效果
- D.turtle.right(Angle) 应该修正为 turtle.right(i * Angle) 才能达到预期效果
- 14.单选题2 分
有关下面 Python 代码的说法,正确的是( )。 import turtle turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.goto(0, 0) turtle.done()
- A.代码执行后,将输出等腰直角三角形
- B.代码执行后,将输出等长的两条边,其夹角为90度,因为没有画出斜边,因此不是三角形
- C.代码执行后,90度夹角位于原点
- D.因为没有执行 turtle.pendown(),所以不会画出图形
- 15.单选题2 分
在 Python 中,turtle.write() 用于在当前坐标处输出文字。下面说法,错误的是( )。 import turtle for i in range(1,10): turtle.write(f"{i}+{i}={i*2}") turtle.goto(i*40,0) turtle.done()
- A.1+1=2 输出在坐标原点,即(0,0)
- B.1+1=2 的起点与 2+2=4 的起点间隔40个像素
- C.最后输出是 10+10=20
- D.1+1=2 等输出文字的下面将有一条直线
- 16.判断题2 分
小明的妈妈最近刚刚给他买了一块电话手表,除了可以看时间,小明也可以用它和妈妈打电话、收发信息,那么可以推测这块手表中装有一款特定操作系统。( )
- 17.判断题2 分
Python 表达式 4 ** 2 和 2 * 2 ** 2 的结果相同。( )
- 18.判断题2 分
下面 Python 代码执行后将输出0。( ) for i in range(1, 10): if i % 3 == 0: break print(i)
- 19.判断题2 分
下面 Python 代码用于求1到N之和,N为正整数。因为 range() 中为 N + 1,因此是1到N且包含N之和。( ) N = int(input("请输入正整数: ")) total = 0 for i in range(1, N + 1): total += i print(total)
- 20.判断题2 分
执行下面的 Python 代码,其语句 print(N) 将被执行0次或无数次(即死循环)。( ) N = input() while N: print(N)
- 21.判断题2 分
下面的 Python 代码能实现判断输入的正整数是否为对称数。所谓对称数是指从左到右和从右到左读该数,其值相同,如121或414等是对称数,而123不是对称数。( ) n = int(input("请输入正整数:")) old_number = n new_number = 0 while n != 0: new_number = new_number * 10 + n % 10 n //= 10 if old_number == new_number: print("对称数") else: print("非对称数")
- 22.判断题2 分
执行下面的 Python 代码,如果输入为大于 0 的整数,则输出一定为 -N。( ) N = int(input()) total = 0 for i in range(-N,N,2): total += i print(total)
- 23.判断题2 分
执行 Python 语句 print(int(3.14)) 将报错。( )
- 24.判断题2 分
下面的 Python 代码执行后,将输出等边三角形。( ) import turtle turtle.circle(50, steps = 3) turtle.done()
- 25.判断题2 分
下面的 Python 代码执行后第一条直线与第二条直线相交于原点,两线之间的夹角为120度。( ) import turtle turtle.forward(100) turtle.right(60) turtle.forward(100) turtle.right(60) turtle.forward(100) turtle.done()
- 26.编程题25 分
试题名称:交朋友 时间限制:1.0 s 内存限制:512.0 MB 题目描述:Alice 班上共有 4 个小朋友,身高分别为 H1、H2、H3、H4,其中 Alice 的身高为 H1。Alice 想要和身高最接近她的人交朋友,如果有多个人符合条件,则 Alice 想和其中较矮的那一人做朋友,你能告诉她这个人的身高是多少吗? 输入格式:输入共 4 行,第 i 行包含一个整数 Hi,表示班上小朋友的身高。 输出格式:输出 1 行,包含一个整数 h,表示 Alice 想交的朋友的身高。 输入样例: 150 165 135 133 输出样例:135 样例解释:样例 1 中,Alice 身高为 150,第 2、3 个小朋友与 Alice 身高差距为 15,同样最接近,Alice 选较矮的一个即第 3 个身高为 135 的小朋友交朋友。 数据范围:保证 100 ≤ Hi ≤ 199 且 Hi 互不相同。
作答说明:按题目要求完成程序或作品;需要在线运行与自动判分时,可在站内选择「在线考试」。
- 27.编程题25 分
试题名称:数字替换 时间限制:1.0 s 内存限制:512.0 MB 题目描述:Alice 不喜欢数字 4,但觉得数字 8 寓意好,她想把数中的 4 全都替换成 8,若数中不含 4 则无需修改,你能帮帮她吗? 输入格式:输入一行,包含一个整数 A,表示替换前的数。 输出格式:输出一行,包含一个整数 B,表示替换后的数。 输入样例#1:8459045 输出样例#1:8859085 输入样例#2:123 输出样例#2:123 样例解释:对于样例1,输入 8459045 中有两个 4,都将其替换为了 8,得到 8859085。对于样例2,输入 123 中不包含 4,无需修改输入数字,输出 123。 数据范围:0 ≤ A ≤ 10 的 8 次方。
作答说明:按题目要求完成程序或作品;需要在线运行与自动判分时,可在站内选择「在线考试」。