GESP Python 编程一级 · 2025 年 12 月卷
GESP · Python · 共 27 题 · 满分 100 分
姓名:____________日期:____________得分:____________
- 1.单选题2 分
近日,空中客车公司表示,约6000架空客A320系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软件。空客表示,在对一起飞行事故进行分析后,结果表明强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,导致判断失误,进而可能引发飞行异常。在这里的飞行控制系统中,执行判断的部件最可能是下面的( )。
- A.辐射传感器
- B.处理器
- C.内存单元
- D.输出设备
- 2.单选题2 分
下面的Python代码在集成开发环境中运行时,提示有“invalid character”错误。可能的原因是( ): a, b = 3, 4 #L1 print(a) #L2 print(b) #L3
- A.L1行代码中的逗号很可能是中文逗号,应该改为英文逗号。
- B.L1行应该分为两行,分别是 a = 3 和 b = 4。
- C.代码运行前没有保存到文件。
- D.L2和L3不能分为两行,应合并为一行。
- 3.单选题2 分
下面有关Python变量的说法,正确的是( )。
- A.不可以用 for 作为变量名,因为 for 是Python的关键字(保留字)。
- B._tnt 不可以是变量名,因为变量名的第一个字符必须是英文字母。
- C._tnt_ 不可以是变量名,因为最后一个字符容易与减号混淆。
- D.可以用 print 作为变量名,因为 print 是关键字,但这不是好习惯,因为 print 有约定的功能与含义。
- 4.单选题2 分
Python表达式 2 + 3 * 4 ** 2 的值为( )。
- A.20
- B.50
- C.52
- D.80
- 5.单选题2 分
下面的Python代码执行后,其输出是( )。 a = 3 b = a = 4 print(a, b)
- A.4 4
- B.3 3
- C.3 4
- D.4 3
- 6.单选题2 分
下面的Python代码执行时如果先输入 10 回车后输入 20 并回车,其输出是( )。 N = input("第一个数:") M = input("第二个数:") print(f"int(N+M)={int(N+M)}")
- A.30=30
- B.1020=1020
- C.int(N+M)=1020
- D.错误提示
- 7.单选题2 分
某个整数很长很长,形如:1232123212321……,其规律是从1开始逐一升高到3然后逐一降低到1,然后又逐一升高到3,一直到很长很长。编写程序,判断从左开始第N位数是几?假设从左到右第1位为1。在横线处应该填入的代码是( )。 N = int(input("请输入编号: ")) M = ________________ if M != 0: print(M) else: print(2)
- A.N % 4
- B.N // 4
- C.N % 3
- D.N // 3
- 8.单选题2 分
下面Python代码执行后的输出是( )。 tnt = 0 for i in range(100): tnt += 1 print(tnt, i)
- A.99 99
- B.100 99
- C.99 100
- D.100 100
- 9.单选题2 分
有关下面Python代码的说法,错误的是( )。 tnt = 0 for i in range(1, 10, 2): tnt += i print(tnt)
- A.range(1,10,2) 改为 range(1,11,2) 结果相同。
- B.range(1,10,2) 改为 range(0,10,2) 结果相同。
- C.tnt += i 与 tnt = tnt + i 效果相同。
- D.tnt += i 与 tnt = i + tnt 效果相同。
- 10.单选题2 分
下面Python代码执行后输出是( )。 for i in range(10, 100, 10): if i % 10 == 0: continue print(i, end = "#")
- A.10#20#30#40#50#60#70#80#90#
- B.90#
- C.90
- D.没有输出
- 11.单选题2 分
两个正整数,只要不相等,就一直进行如下操作:最大数减去最小数得到一个值,该值和两个数的最小数构成新的两个正整数,重复操作,直到两个数相等,此时输出该数。下面的Python代码用于实现该操作,横线处应该填写的代码是( )。 N = int(input()) M = int(input()) while N != M: if N > M: ________________ else: ________________ print(N)
- A.N = N - M M = M - N
- B.M = M - N N = N - M
- C.M = N - M N = M - N
- D.N, M = M, N M, N = N, M
- 12.单选题2 分
如果一个正整数能被3整除,或者某一位能被3整除,则称之为“漂亮数”,如12是漂亮数因为能被3整除,311是漂亮数因为含有3,22不是漂亮数因为不能被3整除也不含有3。下面的Python用于判断正整数 N 是否为漂亮数,横线处应该填入的代码是( )。 N = int(input()) Flag = "非漂亮数" if N % 3 == 0: Flag = "漂亮数" else: while N != 0: if __________________: Flag = "漂亮数" break N //= 10 print(Flag)
- A.N % 10 == 0
- B.N % 3 % 10 == 0
- C.N % 10 % 3
- D.N % 10 % 3 == 0
- 13.单选题2 分
下面的Python代码执行后海龟最终朝向是( )。(默认初始朝向东,即屏幕右侧) import turtle turtle.forward(100) turtle.right(90) turtle.forward(50)
- A.东(0°)
- B.南(270°或 -90°)
- C.西(180°)
- D.北(90°)
- 14.单选题2 分
为在Python Turtle中输出如下图形(从原点出发的 12 条均匀分布射线),代码横线处应填入( )。 import turtle for i in range(12): turtle.forward(100) ________________ turtle.left(30)

- A.turtle.home()
- B.turtle.goto(0,0)
- C.turtle.reset()
- D.turtle.home(0,0)
- 15.单选题2 分
为在Python Turtle中输出如下图形(6 个由小到大嵌套的正方形,旋转 45 度呈菱形排列),代码横线处应填入( )。 import turtle for i in range(6): turtle.circle(________________)

- A.20 * i
- B.20 * (i + 1)
- C.20 * i, steps = 4
- D.20 * (i + 1), steps = 4
- 16.判断题2 分
鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。( )
- 17.判断题2 分
Python表达式 10 ** 0.5 和 10 ** 1 / 2 的结果并不相同。( )
- 18.判断题2 分
下面Python代码执行后将输出 1。( ) for i in range(10): if i % 3 == 0: continue else: break print(i)
- 19.判断题2 分
下面Python代码中的 range(-10) 改为 range(10) 执行结果相同。( ) tnt = 0 for i in range(-10): if i < 0: i = -i tnt += i print(tnt)
- 20.判断题2 分
下面Python代码执行后将输出 99,因为 range(100) 不包括 100,而是到 99。( ) cnt = 0 for i in range(100): cnt += 1 print(cnt)
- 21.判断题2 分
下面的Python代码能用于判断输入的正整数是否为对称数。所谓对称数是指从左到右或从右到左读该数,其值相同,如 121 或 414 等是对称数,而 123 不是对称数。( ) n = int(input("请输入正整数:")) new_number = 0 while n != 0: new_number = new_number * 10 + n % 10 n //= 10 if n == new_number: print("对称数") else: print("非对称数")
- 22.判断题2 分
下面的Python代码执行后将输出 -100。( ) tnt = 0 for i in range(-100,100): tnt += i print(tnt)
- 23.判断题2 分
下面Python代码执行后,其输出是 -50。( ) tnt = 0 flag = 1 for i in range(1,100 + 1): tnt += i * flag flag = -flag print(tnt)
- 24.判断题2 分
下面的Python代码执行后,将画出横平竖直(两条边水平,另两条边与之垂直,且首尾相接)的正方形。( ) import turtle turtle.right(45) turtle.circle(45, steps = 4)
- 25.判断题2 分
下面的Python代码执行后将绘制出如下图形(正方形与旋转 45 度的正方形叠加并带 8 条放射线)。( ) import turtle for i in range(8): turtle.right(45) turtle.circle(50,steps = 4)

- 26.编程题25 分
试题名称:小杨的爱心快递 时间限制:1.0 s 内存限制:512.0 MB 题目描述:小杨是“爱心社区”的小志愿者,每周他都会帮助邻居们寄送捐赠给山区小学的文具和书籍。快递公司为了支持公益行动,制定了特殊的运费规则,鼓励大家合理包装: 假设快递的体积为 V,重量为 G。 按体积计算:运费按体积计算,公式是 0.5 × V 元。 按重量计算:为了鼓励减轻包裹重量,规则是:当重量小于 300 克,即 G < 300 时,运费为 M 元;当重量达到或超过 300 克,即 G ≥ 300 时,运费为 N 元。 快递公司的叔叔说:“我们应该选择最公平合理的计费方式。” 所以,最终的运费会取按体积计算和按重量计算这两种方式中价格较低的那一个,这样对寄件人最公道。 输入格式:四行,每行一个一位小数的浮点数,分别代表,快递的体积 V,快递的重量 G,第一档重量运费 M,第二档重量运费 N。 输出格式:一行一个一位小数,代表实际快递运费。 输入样例1: 100.4 300.2 60.6 70.5 输出样例1:50.2 输入样例2: 99.8 200.9 60.2 70.1 输出样例2:49.9 样例解释:样例 1 中按体积收费为 0.5 × 100.4 = 50.2,按重量收费由于 G = 300.2 超过 300 为 70.5,输出价格较低的 50.2。样例 2 中按体积收费为 0.5 × 99.8 = 49.9,按重量收费由于 G = 200.9 小于 300 为 60.2,输出价格较低的 49.9。 数据范围:对于所有测试点,保证给出的浮点数不超过 1000。
作答说明:按题目要求完成程序或作品;需要在线运行与自动判分时,可在站内选择「在线考试」。
- 27.编程题25 分
试题名称:手机电量显示 时间限制:1.0 s 内存限制:512.0 MB 题目描述:小杨的手机就像一个聪明的小助手,当电量变化时,它会用不同的方式来提醒我们,假设当前的电量百分比为 P: 当电量非常低(不超过 10,即 P ≤ 10),它会显示一个大写字母 R,就像在说:“快给我充电吧!(Red警告色)” 当电量有点低(超过 10 但不超过 20,即 10 < P ≤ 20),它会显示一个大写字母 L,意思是“电量有点Low啦!” 当电量比较充足(超过 20,即 P > 20),它就会直接显示具体的数字,比如直接显示 50,表示还有 50 的电量。 输入格式:第一行一个正整数 T,代表数据组数。对于每组数据,一行包含一个正整数 P,代表手机电量百分比。 输出格式:对于每组数据,输出一行,代表当前手机显示的电量信息。 输入样例: 5 10 1 20 99 19 输出样例: R R L 99 L 数据范围:对于所有测试点,保证 1 ≤ T ≤ 20, 1 ≤ P ≤ 100。
作答说明:按题目要求完成程序或作品;需要在线运行与自动判分时,可在站内选择「在线考试」。