#G2209. [GESP202503 二级] 客观题

    ID: 167 Type: Objective Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>GESP Python编程能力等级认证

[GESP202503 二级] 客观题

单选题

  1. 2025年春节有两件轰动全球的事件,一个是DeepSeek横空出世,另一个是贺岁片《哪吒2》票房惊人,入了全球票房榜。下面关于DeepSeek与《哪吒2》的描述成立的是( )。

    {{ select(1) }}

  • 《哪吒2》是一款新型操作系统
  • DeepSeek是深海钻探软件
  • 《哪吒2》可以生成新的软件
  • DeepSeek可以根据《哪吒2》的场景生成剧情脚本

  1. 对整型变量N,如果它能够同时被3和5整出,则输出 N是含有至少两个质因数。如果用流程图来描述处理过程,则输出语句应该在哪种图形框中( )。

    {{ select(2) }}

  • 圆形框
  • 椭圆形框
  • 平行四边形框
  • 菱形框

  1. Python语句 print(3+3***(2-2)*3) 执行后输出的值是( )。

    {{ select(3) }}

  • 11
  • 6
  • 4
  • 3

  1. 下面Python代码执行,其输出是( )。
a, b = 3,4
a == b
b == a
print(a,b)

{{ select(4) }}

  • 3 4
  • 3.3
  • 4.4
  • 4.3

  1. 求三色彩球的颜色。有数量无限的红(Red)绿(Green)蓝(Blue)三种彩球排成一行,每组先为5个红色球,随后3个绿色,最后为2个蓝色。每个球都有编号,从左到右依次为1,2,3……。输入整数代表编号,求该编号球的颜色。下面是Python代码的实现,正确说法是( )。
N = int(input())
remainder = N % 10
if 1 <= remainder <= 5:
    print("Red")
elif 6 <= remainder <= 8:
    print("Green")
elif remainder == 9 or remainder == 0:
    print("Blue")

{{ select(5) }}

  • 将 elif remainder == 9 or remainder == 0: 修改为 else 效果相同
  • 将 if 1 <= remainder <= 5: 修改为 if remainder <= 5: 效果相同
  • elif 6 <= remainder <= 8: 写法错误,应修改为 elif 6 <= remainder and remainder <= 8:
  • 根据题意 remainder = N % 10 应修改为 remainder = N // 10

  1. 下面Python代码执行后其输出是( )。
tnt = 0
for i in range(10):
    if i % 3:
        tnt += 1
    else:
        tnt += 2
print(tnt)

{{ select(6) }}

  • 18
  • 17
  • 16
  • 14

  1. 下面Python代码执行后输出是( )。
for i in range(10, 0, -2):
    break
    print(i)

{{ select(7) }}

  • 10
  • 8
  • 8
  • 因为循环执行时会执行break语句而终止循环,因此的值不确定

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

{{ select(8) }}

  • 0#0#0#0#0#0#
  • 0#0#0#0#0#0#0#
  • 0#0#0#0#0#
  • 0#0#0#0#0#

  1. 下面Python代码执行后的输出是( )。
for i in range(5):
    for j in range(i,0,-1):
        print(j,end="-")

{{ select(9) }}

  • 1-2-1-3-2-1-4-3-2-1-
  • 1-2-1-3-2-1-4-3-2-1-
  • 0-0-1-0-1-2-0-1-2-3-
  • 0-0-1-0-1-2-0-1-2-3

  1. 下面Python代码执行后,将输出能被2整除且除以7余数为2的数。下列选项不能实现的是( )。
for i in range(100):
    if ______:
        print(i)

{{ select(10) }}

  • i % 2 == 0 and i % 7 == 2
  • not(i % 2) and i % 7 == 2
  • not(i % 2) and not(i % 7)
  • i % 2 != 1 and i % 7 == 2

  1. 下面Python代码用于求正整数1到N之间含有3的数的个数,横线处应填入代码先后是( )。
cnt = 0
N = int(input("请输入正整数: "))
for i in range(1,N):
    while i != 0:
        if i % 10 == 3:
            cnt +=1
        ______
    else:
        ______
print(cnt)

{{ select(11) }}

  • continue
    i = i // 10
  • break
    i //= 10
  • continue
    i %= 10
  • break
    i %= 10

  1. 下面Python代码用于实现九九乘法表,代码中{i*j}与等号之间有一个空格。代码执行后效果是( )。
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j}*(i)={i*j}", end=" ");
    print()

{{ select(12) }}

  • 11=1
    1
    2=2 22=4
    1
    3=3 23=6 33=9
    14=4 24=8 34=12 44=16
    15=5 25=10 35=15 45=20 55=25
    1
    6=6 26=12 36=18 46=24 56=30 66=36
    1
    7=7 27=14 37=21 47=28 57=35 67=42 77=49
    18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
    19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 9*9=81

  1. 在数学中N表示N的阶乘,即1到N的乘积,如31=123,且θ1 = 1。下面的两段Python代码用于求1-N的阶乘之和,如N为3,则是11+21+31。选项中的说法,正确的是( )。
#实现1
N = int(input())
tnt, last = θ, 1
for i in range(1,N + 1):
    last *= i
    tnt += last
print(tnt)

#实现2
N = int(input())
tnt = θ
for i in range(1, N + 1):
    tmp = 1
    for j in range(1,i + 1):
        tmp *= j
    tnt += tmp
print(tnt)

{{ select(13) }}

  • 虽然实现的代码短小,但效率并不高
  • 实现的代码效率更高,且更易于理解
  • 实现1因为应用了前项计算结果,计算量更小,因此效率高
  • 两种实现,效率几乎一致

  1. 哥德巴赫猜想是指大于2的偶数都可以分解为两个质数之和,下面的代码用于验证4-1000之内的偶数能否分解为两个质数之和。下面Python代码中假设isPrime()是已经定义好用于判断正整数N是否为质数。对该段代码,错误的说法是( )。
for i in range(4,1000,2):
    for j in range(2,i):
        if isPrime(j) and isPrime(i-j):
            print(f^*(i)=(j)+(i-j)^*)
            break

{{ select(14) }}

  • 将代码 isPrime(j) and isPrime(i-j) 修改为 isPrime(j) == True and isPrime(i-j) == True 效果相同
  • 代码执行后,输出的一对质数,一定是小的数在前
  • 即使将ange(4,1000,2)中的1000修改为很大的整数,也不能说从数学上证明了哥德巴赫猜想
  • 根据题意,break语句应该与if对齐

  1. 下面Python代码实现输出如下图形,相关说法正确的是( )。
N = int(input("请输入层数: "))
last = 1
for i in range(1,N):
    for j in range(1,i + 1):
        if last > 9:
            last = 1
        print(last,end = "")
        last += 1
    print()

{{ select(15) }}

  • 最后一行的print()有错,应该修改为print(""), print()函数不能没有参数
  • last += 1修改为last = last + 1执行效果相同
  • 代码中的range(1,i + 1)应修改为range(1,i)
  • 外层for循环前的last = 1修改为last = 0执行效果相同

判断题

  1. C++、Python都是高级编程语言,它们每条语句的执行最终都要通过机器指令来完成。( )

    {{ select(16) }}


  1. 在Python代码中,假设N为正整数,则 N - N // 10 * 10 与 N % 10 都将获得N的个位数。( )

    {{ select(17) }}


  1. 在Python语句 print(10 <= N <= 12) 中,假设N为12,则其输出为True。原因是执行 10 <= N 后其值为 True , True 与 12 相比仍然是 True 。( )

    {{ select(18) }}


  1. Python表达式 N ** 0.5 ** 2 == N 中的N如果为正整数,则表达式的值为True,相当于开平方后平方是本身。( )

    {{ select(19) }}


  1. 下面Python执行后将输出3*2=6。( )
a, b = 2, 3
a, b = b, a
print(f"{a}*(b)=(a*b)")

{{ select(20) }}


  1. 下面Python代码执行后将输出10。( )
for i in range(10):
    continue
    print(i)

{{ select(21) }}


  1. 下面Python代码执行后将输出1。( )
for i in range(1, 10):
    break
    continue
    print(i)

{{ select(22) }}


  1. 下面的Python代码执行后将输出10行“OK”。( )
for i in range(5):
    for j in range(1):
        print("OK")

{{ select(23) }}


  1. 将下面Python代码中的range(1, 5)调整为range(5)输出结果相同。( )
int = 0
for i in range(1, 5):
    int += i
    print(int)

{{ select(24) }}


  1. 下面Python代码执行后将输出0123。( )
for i in range(5):
    for i in range(1):
        continue
    print(i,end="")

{{ select(25) }}