#83. GESP Python 二级 2025年06月 客观题

GESP Python 二级 2025年06月 客观题

2025年GESP 6月 二级

一、单选题(每题2分,共30分)

  1. 2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的( )。

{{ select(1) }}

  • 处理器
  • 存储器
  • 输入设备
  • 输出设备
  1. 小杨购置的计算机使用一年后觉得内存不够用,想购置一个容量更大的内存条,这时需要的内存条是( )。

{{ select(2) }}

  • RAM
  • ROM
  • CACHE
  • EPROM
  1. 下面Python代码执行后的输出是( )。
a, b, c = 3, 4, 5
print(a ** 2 + b * b == c ** 2)

{{ select(3) }}

  • True
  • true
  • 9
  • 10
  1. 下面Python代码用于获得正整数的第3位数,如1234则输出2。如果是一位数或两位数,则输出0。横线处应填入的代码是( )。
N = int(input("请输入正整数:"))
print( )

{{ select(4) }}

  • N % 1000 // 100
  • N // 1000 % 100
  • N / 1000 // 100
  • N % 1000 / 100
  1. 下面的Python代码用于判断输入的正整数N是否为质数,其说法正确的是( )。
N = int(input("请输入正整数:"))
if N <= 1:
    print(f"{N}不是质数")
elif N == 2:
    print(f"{N}是质数")
elif N % 2 == 0 or N % 3 == 0:
    print(f"{N}不是质数")
else:
    for i in range(2, N):
        if N % i == 0:
            print(f"{N}不是质数")
            break
    else:
        print(f"{N}是质数")

{{ select(5) }}

  • 如果输入2,则将先输出2是质数,然后输出2不是质数,因此程序存在错误
  • 删除break,对程序执行结果没有影响
  • 每个if语句只能有一个elif子句,所以本程序有语法错误
  • 如果输入15,程序中的循环不会被执行
  1. 今天星期六,其后第N天星期几?如果是星期一到星期六输出形如:星期1、星期2等,星期天则输出星期天。下面的Python代码用于完成上述要求,横线处应填上的代码是( )。
N = int(input())
remainder = 
if remainder == 0:
    print(f"星期六后第{N}天是星期天")
else:
    print(f"星期六后第{N}天是星期{remainder}")

{{ select(6) }}

  • (N + 6) / 7
  • (N + 6) // 7
  • N % 7
  • (N + 6) % 7
  1. 下面的Python代码执行后其输出是( )。
Sum = 0
for i in range(1, 10):
    if i % 2:
        if i % 7:
            continue
        break
    Sum += i
print(Sum)

{{ select(7) }}

  • 45
  • 28
  • 3
  • 0
  1. 下面Python代码执行后其输出是( )。
for i in range(1, 12):
    for j in range(1, i):
        if i * j % 2 == 1:
            break
    else:
        print(i * j)

{{ select(8) }}

  • 110
  • 22
  • 11
  • 没有输出
  1. 下面Python代码执行后输出是( )。
cnt = 0
for i in range(-99, 100, 2):
    cnt = 1 + cnt
print(cnt)

{{ select(9) }}

  • 101
  • 100
  • 99
  • 98
  1. 下面Python代码执行后输出是( )。
for i in range(1, 10):
    if i % 3 != 0:
        print("A", end = "#")
        continue
    else:
        break
else:
    print("0", end = "#")
print("1")

{{ select(10) }}

  • A#A#
  • A#0#A#0
  • A#A#1
  • A#0#A#0#1
  1. 下面Python代码执行后的输出是( )。
for i in range(3):
    for j in range(i):
        print(i, j, end = "-", sep = '#')
print("END")

{{ select(11) }}

  • 0#0-1#0-2#0-2#1-END
  • 0#0-1#0-1#1-2#0-2#1-2#2-3#0-3#1-3#2-END
  • 0#0-1#0-1#1-2#0-2#1-2#2-END
  • 1#0-2#0-2#1-END
  1. 下面Python代码用于输出不能被3整除且除以5余数为2的数。下列选项不能实现的是( )。
for i in range(100):
    if :
        print(i)

{{ select(12) }}

  • i % 3 != 0 and i % 5 == 2
  • i % 3 and i % 5 == 2
  • i % 3 and not(i % 5 != 2)
  • not(i % 3) and i % 5 == 2
  1. 下面Python代码用于判断一个大于0的正整数是几位数,横线处应填入代码先后是( )。
N = int(input("请输入大于0的正整数:"))
cnt = 0
while :
    cnt += 1
    
print(cnt)

{{ select(13) }}

  • N > 1;N = N // 10
  • N > 0;N /= 10
  • N == 0;N //= 10
  • N > 0;N //= 10
  1. 判断一个数是否为自守数。自守数的定义是如果一个数的平方其尾数与该数相同,则为自守数,如25的平方是625,其尾数是25,所以25是自守数。相关说法错误的是( )。
N = int(input("输入一个正整数:"))
N1, M1 = N, N * N
Flag = True
while N1 > 0:
    if N1 % 10 != M1 % 10:
        Flag = False
        break
    else:
        N1, M1 = N1 // 10, M1 // 10
if Flag == True:
    print(f"{N}的平方是{N * N},是自守数")
else:
    print(f"{N}的平方是{N * N},不是自守数")

{{ select(14) }}

  • 如果Flag在循环中不被改为False,则说明该数是自守数
  • 代码if N1 % 10 != M1 % 10: 用于判断其个位数是否相等,如果不等,则表明不是自守数
  • 代码N1, M1 = N1 // 10, M1 // 10 将把个位数去掉
  • N1 > 0 改为N > 0 效果相同
  1. 下面Python代码实现输出如下图形,相关说法错误的是( )。
请输入层数:10
0
12
345
6789
01234
567890
1234567
89012345
678901234
5678901234
line_number = int(input("请输入层数:"))
now_number = 0
for row in range(1, line_number + 1):
    for i in range(row):
        print(now_number, end = "")
        now_number += 1
        if now_number == 10:
            now_number = 0
    print()

{{ select(15) }}

  • 代码now_number = 0 移动到外层循环之下,内层循环之上,且与内层循环的for对齐,效果维持不变
  • 代码now_number += 1 修改为now_number = 1 + now_number 效果维持不变
  • 将代码now_number == 10 调整为now_number > 9 效果维持不变
  • 将最后一行的print()修改为print(""),效果维持不变

二、判断题(每题2分,共20分)

  1. 现在,人们参加各种闭卷考试时通常都不允许将智能手机、平板电脑等带入考场,因为智能手表通常都有嵌入操作系统及通信等功能,所以也不允许携带入考场。( )

{{ select(16) }}

  • 正确
  • 错误
  1. 在Python代码中,假设N为正整数,如果N小于10,则N // 10 其值为0,大于10则是舍弃个位数的数。( )

{{ select(17) }}

  • 正确
  • 错误
  1. 下列Python代码执行后,其输出为3 2 1 。( )
a, b, c = 1, 2, 3
a, b, c = c, b, a
print(a, b, c)

{{ select(18) }}

  • 正确
  • 错误
  1. Python表达式4 ** 0.5 ** 2 接近1.414 ,则说明幂运算符是右结合,即从右向左计算,先计算0.5 ** 2 ,其值与4进行幂运算。( )

{{ select(19) }}

  • 正确
  • 错误
  1. 下面Python执行时将报错,因为变量a的类型从字符串型变到了整数型。( )
a = "123"
a = 456
print(a)

{{ select(20) }}

  • 正确
  • 错误
  1. 下面Python代码执行时如输入99.99,将输出及格两个汉字。( )
score = input("请输入学生成绩:")
if score < 60:
    print("不及格")
else:
    print("及格")

{{ select(21) }}

  • 正确
  • 错误
  1. 下面的Python代码执行后,将输出6次CCF 。( )
i, j = 0, 0
while i < 3:
    while j < 2:
        print("CCF")
        j += 1
    i += 1

{{ select(22) }}

  • 正确
  • 错误
  1. 下面的Python代码执行后将输出200次GESP 。( )
for i in range(20):
    for j in range(10):
        print("GESP")

{{ select(23) }}

  • 正确
  • 错误
  1. 将下面Python代码中的range(5, 1, -1) 调整为range(1, 5) 输出结果相同,因为5到1与1到5的求和相同。( )
tnt = 0
for i in range(5, 1, -1):
    tnt += i
print(tnt)

{{ select(24) }}

  • 正确
  • 错误
  1. 为实现如下效果,即N行N列字符。当输入是奇数时,中间列为* ,其他是- ;当输入是偶数时,则中间两列是* ,其他是- 。字符阵列后的代码能实现其效果。( )
N = int(input())
for i in range(N):
    for j in range(N):
        if j == N // 2 or j == (N-1) // 2:
            print("*",end="")
        else:
            print("-",end="")
    print()

{{ select(25) }}

  • 正确
  • 错误