2025年03月Python二级试卷

从PDF导入:2025年03月Python二级试卷

Python 120分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选

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

A. 《哪吒2》是一款新型操作系统
B. DeepSeek是深海钻探软件
C. 《哪吒2》可以生成新的软件
D. DeepSeek可以根据《哪吒2》的场景生成剧情脚本
第2题 中级 2.0分 单选
对整型变量N,如果它能够同时被3和5整除,则输出"N是含有至少两个质因数"。如果用流程图来描述处理过程,则输出语句应该在哪种图形框中( )。
A. 圆形框
B. 椭圆形框
C. 平行四边形框
D. 菱形框
第3题 中级 2.0分 单选
Python语句 print(3+3**(2-2)*3) 执行后输出的值是( )。
A. 11
B. 6
C. 4
D. 3
第4题 中级 2.0分 单选
下面Python代码执行,其输出是( )。

a, b = 3,4
a == b
b == a
print(a,b)

A. 3 4
B. 3 3
C. 4 4
D. 4 3
第5题 中级 2.0分 单选

求三色彩球的颜色。有数量无限的红(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")

A. 将 elif remainder == 9 or remainder == 0: 修改为 else 效果相同
B. 将 if 1 <= remainder <= 5: 修改为 if remainder <= 5: 效果相同
C. elif 6 <= remainder <= 8: 写法错误,应修改为 elif 6 <= remainder and remainder <= 8:
D. 根据题意 remainder = N % 10 应修改为 remainder = N // 10
第6题 中级 2.0分 单选
下面Python代码执行后其输出是( )。

A. 18
B. 17
C. 16
D. 14
第7题 中级 2.0分 单选
下面Python代码执行后输出是( )。

for i in range(10, 0, -2):
break
print(i)

A. 10
B. 8
C. 0
D. 因为循环执行时会执行break语句而终止循环,因此i的值不确定
第8题 中级 2.0分 单选
下面Python代码执行后输出是( )。

A. 0#0#0#0#0#0#
B. 0#0#0#0#0#0#0#1#
C. 0#0#0#0#1#
D. 0#0#0#0#0#0#1#
第9题 中级 2.0分 单选
下面Python代码执行后的输出是( )。

for i in range(5):
for j in range(i, 0, -1):
print(j, end="-")

A. 1-2-1-3-2-1-4-3-2-1-
B. 1-2-1-3-2-1-4-3-2-1
C. 0-0-1-0-1-2-0-1-2-3-
D. 0-0-1-0-1-2-0-1-2-3
第10题 中级 2.0分 单选
下面Python代码执行后,将输出能被2整除且除以7余数为2的数。下列选项不能实现的是( )。

A. i % 2 == 0 and i % 7 == 2
B. not(i % 2) and i % 7 == 2
C. not(i % 2) and not(i % 7)
D. i % 2 != 1 and i % 7 == 2
第11题 中级 2.0分 单选
下面Python代码用于求正整数1到N之间含有3的数的个数,横线处应填入代码先后是( )。

cnt = 0
N = int(input("请输入正整数:"))
for i in range(1, N):
while i != 0:
if i % 10 == 3:
cnt += 1
break
else:
_________
_________
print(cnt)

A. continue; i = i // 10
B. break; i //= 10
C. continue; i %= 10
D. break; i %= 10
第12题 中级 2.0分 单选
下面Python代码用于实现九九乘法表,代码中{i*j}与等号之间有一个空格。代码执行后效果是( )。

A.
B.
C.
D.
第13题 中级 2.0分 单选

在数学中N!表示N的阶乘,即1到N的乘积,如 3!=1*2*3 ,且 0! = 1 。下面的两段Python代码用于求1-N的阶乘之和,如N为3,则是 1!+2!+3! 。选项中的说法,正确的是( )。

A. 虽然实现1的代码短小,但效率并不高
B. 实现2的代码效率更高,且更易于理解
C. 实现1因为应用了前项计算结果,计算量更小,因此效率高
D. 两种实现,效率几乎一致
第14题 中级 2.0分 单选

哥德巴赫猜想是指大于2的偶数都可以分解为两个质数之和,下面的代码用于验证4-1000之内的偶数能否分解为两个质数之和。下面Python代码中假设isPrime()是已经定义好用于判断正整数N是否为质数。对该段代码的说法是( )。

A. 将代码 isPrime(j) and isPrime(i-j) 修改为 isPrime(j) == True and isPrime(i-j) == True 效果相同
B. 代码执行后,输出的一对质数,一定是小的数在前
C. 即便将range(4, 1000, 2)中的1000修改为很大的整数,也不能说从数学上证明了哥德巴赫猜想
D. 根据题意,break语句应该与if对齐
第15题 中级 2.0分 单选
下面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()

A. 最后一行的print()有错,应该修改为print(""),print()函数不能没有参数
B. last += 1修改为last = last + 1执行效果相同
C. 代码中的range(1, i + 1)应修改为range(1, i)
D. 外层for循环前的last = 1修改为last = 0执行效果相同
第16题 中级 2.0分 判断
C++、Python都是高级编程语言,它们每条语句的执行最终都要通过机器指令来完成。( )
T. 正确
F. 错误
第17题 中级 2.0分 判断
在Python代码中,假设N为正整数,则 N - N // 10 * 10 与 N % 10 都将获得N的个位数。( )
T. 正确
F. 错误
第18题 中级 2.0分 判断
在Python语句 print(10 <= N <= 12) 中,假设N为12,则其输出为True。原因是执行 10 <= N 后其值为True,True与12
T. 正确
F. 错误
第19题 中级 2.0分 判断
Python表达式 N ** 0.5 ** 2 == N 中的N如果为正整数,则表达式的值为True,相当于开平方后平方是本身。( )
T. 正确
F. 错误
第20题 中级 2.0分 判断
下面Python执行后将输出3*2=6。( )

T. 正确
F. 错误
第21题 中级 2.0分 判断
下面Python代码执行后将输出10。( )

for i in range(10):
continue
print(i)

T. 正确
F. 错误
第22题 中级 2.0分 判断
下面Python代码执行后将输出1。( )

T. 正确
F. 错误
第23题 中级 2.0分 判断
下面的Python代码执行后将输出10行"OK"。( )

for i in range(5):
for j in range(i):
print("OK")

T. 正确
F. 错误
第24题 中级 2.0分 判断
将下面Python代码中的range(1, 5)调整为range(5)输出结果相同。( )

T. 正确
F. 错误
第25题 中级 2.0分 判断
下面Python代码执行后将输出0123。( )

T. 正确
F. 错误
第26题 中级 25.0分 编程
等差矩阵

小A想构造一个n行m列的矩阵,使得矩阵的每一行与每一列均是等差数列。小A发现,在矩阵的第i行第j列填入整数i×j,得到的矩阵能满足要求。你能帮小A输出这个矩阵吗?

【输入格式】
一行,两个正整数n, m。
【输出格式】
共n行,每行m个由空格分割的整数,表示小A需要构造的矩阵。
【样例输入】
3 4
【样例输出】
1 2 3 4
2 4 6 8
3 6 9 12
对于所有测试点,保证1 ≤ n ≤ 5,1 ≤ m ≤ 50。
第27题 中级 25.0分 编程
时间跨越

假设现在是y年m月d日h时,而k小时后是y'年m'月d'日h'时,对于给定的y, m, d, h, k,小杨想请你帮他计算出对应的y', m', d', h'是多少。

【输入格式】
输入包含五行,每行一个正整数,分别代表y, m, d, h, k。
【输出格式】
输出四个正整数,代表y', m', d', h'。
【样例输入】
2008
2
29
0
24
【样例输出】
2008 3 1 0
对于全部数据,保证有2000 ≤ y ≤ 3000,1 ≤ m ≤ 12,1 ≤ d ≤ 31,0≤ h ≤ 23,1 ≤ k ≤ 24。数据保证为合法时间。
闰年判断规则:
普通闰年:年份能被4整除,但不能被100整除。
世纪闰年:年份能被400整除。
满足以上任意一条规则的年份就是闰年,否则是平年。
💬