2025年09月Python二级试卷

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

Python 120分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选
人工智能现在非常火,小杨就想多了解一下,其中就经常听人提到"大模型"。那么请问这里说的"大模型"最贴切是指( )。
A. 大电脑模型
B. 大规模智能
C. 智能的单位
D. 大语言模型
第2题 中级 2.0分 单选
在TCP协议中,完成连接建立需要通过( )握手。
A. 一次
B. 二次
C. 三次
D. 四次
第3题 中级 2.0分 单选
下面的Python代码用于输入姓名,然后输出姓名,正确的说法是( )。

XingMing = input("请输入您的姓名:")
print(XingMing)

A. XingMing是汉语拼音,不能作为变量名称
B. 可以将 XingMing 改为 Xing Ming
C. 可以将 XingMing 改为 xingming
D. 可以将 XingMing 改为 Xing-Ming
第4题 中级 2.0分 单选
下面Python代码用于获得正整数N的第M位数,如N等于1234,M等于2,则输出3。此题假设M的值大于等于1小于等于N的位数。横线处应填入的代码是( )

N = int(input("请输入一个正整数:"))
M = int(input("请输入位数:"))
div = 10 ** (M - 1)
print(______)

A. N % div // 10
B. N // div // 10
C. N % div % 10
D. N // div % 10
第5题 中级 2.0分 单选
下面Python代码执行,其输出是( )。

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

A. False 4 4
B. 3 3 3
C. 4 4 4
D. 3 4 False
第6题 中级 2.0分 单选
某种编号的规则是"XX-Y",其中XX从00到11,Y从0到9,X和Y均为10进制。第一个编号是00-0,第二个编号是01-1,第12个编号11-1,第13个编

N = int(input("请输入编号位置:"))
part1 = N % ____
part2 = N % ____
if part1 < 10:
print(f"0{part1}-{part2}")
else:
print(f"{part1}-{part2}")

A. 12; 10
B. 10; 10
C. 11; 9
D. 9; 9
第7题 中级 2.0分 单选
下面的Python代码执行后,将输出( )。

for i in range(-2, 2):
if i:
print(i, end = "# ")

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

cnt = 0
for i in range(-10, 10):
for j in range(i):
cnt += 1
print(cnt)

A. 145
B. 125
C. 55
D. 45
第9题 中级 2.0分 单选
下面Python代码执行后其输出是( )。

A. 99
B. 11
C. 0
D. 没有输出
第10题 中级 2.0分 单选
阅读下面的Python代码,正确的是( )。

A. b不能为0,因为 a % b 将导致错误
B. a必须小于b,否则 a % b 将导致错误
C. a和b都必须为正整数,否则 a % b 将导致错误
D. 如果a为0,则不管b为多少,输出都将是b
第11题 中级 2.0分 单选
下面Python代码执行后输出是( )。

num = 0
while num <= 5:
num += 1
if num == 3:
continue
print(num, end= "# ")

A. 1#2#4#5#6#
B. 1#2#4#5#6
C. 1#2#3#4#5#6#
D. 1#2#3#4#5#6
第12题 中级 2.0分 单选
下面Python代码用于记录多个输入数中的最大数和最小数(输入-999则输入结束),相关说法错误的是( )。

A. 程序运行时如果第一个数输入-999,则输出将是 -999 -999
B. 程序输入过程中,如果输入的第一个数不是-999,且如果待输入的实际数据中没有-999,则程序能求出最大数和最小数
C. 如果用于输入考试成绩,即成绩中不可能有-999,则程序能求出最高成绩和最低成绩
D. 可以将 now_num = int(input()) 移动到 while now_num != -999 : 之后
第13题 中级 2.0分 单选
下面Python代码执行后输出与5有关数的数量。与5有关的数定义为含有5或者能被5整除的数。相关说法正确的是( )。

cnt = 0
for i in range(1, 1000):
if i % 5 == 0:
cnt += 1
continue
j = i
while j > 0:
if j % 10 == 5:
cnt += 1
break
else:
j //= 10
print(cnt)

A. 删除代码中 continue 不影响程序执行结果
B. 删除代码中 break 不影响程序执行结果
C. 删除 j = i 并将 while 循环的j修改为i,不影响程序执行结果
D. 将 while j > 0 修正为 while j >= 0 不影响程序执行的结果
第14题 中级 2.0分 单选
下面Python代码实现输出如下图形,应该在横线处填入的代码是( )。


n = int(input("输入行数量:"))
m = int(input("输入每行字符数量:"))
# 计算行和列的中间位置
mid_row = n // 2
mid_col = m // 2
for i in range(n):
# 判断当前行是否为中间行(或中间两行)
if _____________________________________:
print('*' * m)
else:
# 根据列数奇偶性构建行字符串
if m % 2 == 1:
# 奇数列:左侧- + 中间* + 右侧left = '-' * mid_col
center = '*'
right = '-' * mid_col
print(left + center + right)
else:
# 偶数列:左侧- + 中间** + 右侧left = '-' * (mid_col - 1)
center = '**'
right = '-' * (mid_col - 1)
print(left + center + right)

A. (n%2==1 and i==mid_row) or (n%2==0 and (i==mid_row-1 or i==mid_row))
B. (n%2==0 and i==mid_row) or (n%2==1 and (i==mid_row-1 or i==mid_row))
C. (n%2==1 and i==mid_row) or (n%2==0 and (i==mid_row or i==mid_row+1))
D. (n%2==1 and i==mid_row) or (n%2==0 and i==mid_row-1) and (n%2==0 and i==mid_row)
第15题 中级 2.0分 单选
下面Python代码实现输出如下图形,应该在横线处填入的代码是( )。


N = int(input("请输入层数:"))
K = 1
for i in range(1, N + 1):
for _ in range(1, ____):
print(" ", end = "")
for _ in range(1, ____):
print(K, end = "")
K += 1
if K == 10:
K = 1
print()

A. N - i + 1; i + 1
B. N - i; i
C. N - i; i + 1
D. N - i; i + 1
第16题 中级 2.0分 判断
在集成开发环境里调试程序时,要注意不能修改源程序,因为如果修改,就要终止调试、关闭该文件并重新打开,才能再次开始调试。( )
T. 正确
F. 错误
第17题 中级 2.0分 判断

在Python代码中,假设N为正整数且大于100,则 N // 100 将舍弃个位和十位,如N为1234则 print(N //100) 将输出 12 。如果N小于100且大于0,则其值为0。( )

T. 正确
F. 错误
第18题 中级 2.0分 判断
下列Python代码执行后将输出True,因为a确实小于20和10。( )

a = 5
print(a < 10 and 20)

T. 正确
F. 错误
第19题 中级 2.0分 判断
下面的Python执行后将输出True。( )

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

a = 10
print(a + True)

T. 正确
F. 错误
第21题 中级 2.0分 判断
下面Python代码执行时如输入99.99,将输出"及格"两个汉字。( )

score = int(input("请输入学生成绩:"))
if score >= 60:
print("及格")
else:
print("不及格")

T. 正确
F. 错误
第22题 中级 2.0分 判断
下面Python代码执行时将导致无限循环(也称死循环)。( )

count = 0
while count < 5:
count += 1
if count == 3:
continue
print(count, end=" ")

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

for i in range(3):
if i == 2:
continue
print("+", end = "# ")
print(i, end="#")

T. 正确
F. 错误
第24题 中级 2.0分 判断
下列Python代码用于求斐波那契数列,即第1个数0,第2个数1,从第三个数开始,是前两个数之和。如果输入的值为大于1的正整数,该代码能输出第N个数的值。(

n = int(input())
a, b = 0, 1
for j in range(n):
print(a, end=" ")
a, b = b, a + b

T. 正确
F. 错误
第25题 中级 2.0分 判断
下面的Python不能实现如下输出,但如果将 print(0, end= ' ') 与if对齐,则可以。( )


T. 正确
F. 错误
第26题 中级 25.0分 编程
优美的数字

如果一个正整数的所有数位都相同,小A就会觉得这个正整数很优美。例如,正整数6的数位都是6,所以6是优美的。正整数99的数位都是9,所以99是优美的。正整数123的数位不都相同,所以123并不优美。
小A想知道不超过n的正整数中有多少优美的数字。你能帮他数一数吗?

【输入格式】
一行,一个正整数n。
【输出格式】
一行,一个正整数,表示不超过n的优美正整数的数量。
【样例输入1】
10
【样例输出1】
9
【样例输入2】
100
【样例输出2】
18
对于所有测试点,保证1 ≤ n ≤ 2025。
第27题 中级 25.0分 编程
菱形

小A想绘制一个菱形。具体来说,需要绘制的菱形是一个n行n列的字符画,n是一个大于1的奇数。菱形的四个顶点依次位于第1行第1列、第1行第n列、第n行第1列、第n行第n列的正中间,使用#绘制。相邻顶点之间也用#连接。其余位置都是.。
例如,一个5行5列的菱形字符画如下:
..#..
.#.#.
#...#
.#.#.
..#..
一个3行3列的菱形如下:
.#.
#.#
.#.

【输入格式】
一行,一个正整数n。
【输出格式】
输出共n行,表示对应的菱形。
【样例输入1】
3
【样例输出1】
.#.
#.#
.#.
对于所有测试点,保证3 ≤ n ≤ 29并且n为奇数。
💬