#84. GESP Python 二级 2025年03月 客观题
GESP Python 二级 2025年03月 客观题
2025年GESP 3月 二级
一、单选题(每题2分,共30分)
- 2025年春节有两件轰动全球的事件,一个是DeepSeek横空出世,另一个是贺岁片《哪吒2》票房惊人,入了全球票房榜。下面关于DeepSeek与《哪吒2》的描述成立的是( )。
{{ select(1) }}
- 《哪吒2》是一款新型操作系统
- DeepSeek是深海钻探软件
- 《哪吒2》可以生成新的软件
- DeepSeek可以根据《哪吒2》的场景生成剧情脚本
- 对整型变量N,如果它能够同时被3和5整出,则输出N是含有至少两个质因数。如果用流程图来描述处理过程,则输出语句应该在哪种图形框中( )。
{{ select(2) }}
- 圆形框
- 椭圆形框
- 平行四边形框
- 菱形框
- Python语句
print(3+3**(2-2)*3)执行后输出的值是( )。
{{ select(3) }}
11643
- 下面Python代码执行,其输出是( )。
a, b = 3, 4
a, b = b, a
print(a, b)
{{ select(4) }}
3 43 34 44 3
- 求三色彩球的颜色。有数量无限的红(Red)绿(Green)蓝(Blue)三种彩球排成一行,每组先为5个红色球,随后3个绿色,最后为2个蓝色。每个球都有编号,从左到右依次为1,2,3……。输入整数代表编号,求该编号球的颜色。下面是Python代码的实现,正确说法是( )。
N = int(input())
remainder = N % 10 # remainder变量保存余数
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
- 下面Python代码执行后其输出是( )。
tnt = 0
for i in range(10):
if i % 3:
tnt += 1
else:
tnt += 2
print(tnt)
{{ select(6) }}
18171614
- 下面Python代码执行后输出是( )。
for i in range(10, 0, -2):
print(i)
break
{{ select(7) }}
1080- 因为循环执行时会执行break语句而终止循环,因此i的值不确定
- 下面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#1#0#0#0#0#1#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-11-2-1-3-2-1-4-3-2-10-0-1-0-1-2-0-1-2-30-0-1-0-1-2-0-1-2-3
- 下面Python代码用于输出能被2整除且除以7余数为2的数。下列选项不能实现的是( )。
for i in range(100):
if :
print(i)
{{ select(10) }}
i % 2 == 0 and i % 7 == 2not(i % 2) and i % 7 == 2not(i % 2) and not(i % 7)i % 2 != 1 and i % 7 == 2
- 下面Python代码用于求正整数1到N之间含有3的数的个数,横线处应填入代码先后是( )。
cnt = 0
N = int(input("请输入正整数:"))
for i in range(1, N):
temp = i
while temp != 0:
if temp % 10 == 3:
cnt += 1
break
else:
temp =
print(cnt)
{{ select(11) }}
continue;i = i // 10break;i //= 10continue;i %= 10break;i %= 10
- 下面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) }}
- 选项A对应的格式
- 选项B对应的格式
- 选项C对应的格式
- 选项D对应的格式
- 在数学中N!表示N的阶乘,即1到N的乘积,如3! = 123,且0! = 1。下面的两段Python代码用于求1-N的阶乘之和,如N为3,则是1!+2!+3!。选项中的说法,正确的是( )。
# 实现1
tnt, last = 0, 1
N = int(input())
for i in range(1, N + 1):
last *= i
tnt += last
print(tnt)
# 实现2
N = int(input())
tnt = 0
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的代码短小,但效率并不高
- 实现2的代码效率更高,且更易于理解
- 实现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效果相同 - 代码执行后,输出的一对质数,一定是小的数在前
- 即便将
range(4,1000,2)中的1000修改为很大的整数,也不能说从数学上证明了哥德巴赫猜想 - 根据题意,
break语句应该与if对齐
- 下面Python代码实现输出如下图形,相关说法正确的是( )。
请输入层数:10
1
2 3
4 5 6
7 8 9 1
2 3 4 5 6
7 8 9 1 2 3
4 5 6 7 8 9 1
2 3 4 5 6 7 8 9
2 3 4 5 6 7 8
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执行效果相同
二、判断题(每题2分,共20分)
- C++、Python都是高级编程语言,它们每条语句的执行最终都要通过机器指令来完成。( )
{{ select(16) }}
- 正确
- 错误
- 在Python代码中,假设N为正整数,则
N - N // 10 * 10与N % 10都将获得N的个位数。( )
{{ select(17) }}
- 正确
- 错误
- 在Python语句
print(10 <= N <= 12)中,假设N为12,则其输出为True。原因是执行10 <= N后其值为True,True与12相比仍然是True。( )
{{ select(18) }}
- 正确
- 错误
- Python表达式
N ** 0.5 ** 2 == N中的N如果为正整数,则表达式的值为True,相当于开平方后平方是本身。( )
{{ select(19) }}
- 正确
- 错误
- 下面Python执行后将输出3*2=6。( )
a, b = 2, 3
a, b = b, a
print(f"{a}*{b}={a*b}")
{{ select(20) }}
- 正确
- 错误
- 下面Python代码执行后将输出10。( )
for i in range(10):
print(i)
continue
{{ select(21) }}
- 正确
- 错误
- 下面Python代码执行后将输出1。( )
for i in range(1, 10):
break
continue
print(i)
{{ select(22) }}
- 正确
- 错误
- 下面的Python代码执行后将输出10行“OK”。( )
for i in range(5):
for j in range(i):
print("OK")
{{ select(23) }}
- 正确
- 错误
- 将下面Python代码中的
range(1, 5)调整为range(5)输出结果相同。( )
tnt = 0
for i in range(1, 5):
tnt += i
print(tnt)
{{ select(24) }}
- 正确
- 错误
- 下面Python代码执行后将输出0123。( )
for i in range(5):
for i in range(i):
continue
print(i, end="")
{{ select(25) }}
- 正确
- 错误