2025年GESP 9月认证 Python二级真题解析(二判断题部分)
第 1 题 在集成开发环境里调试程序时,要注意不能修改源程序,因为如果修改,就要终止调试、关闭该文件并重新打开,才能再次开始调试。( )
答案:×(错误)
解析:
现代Python集成开发环境(如PyCharm、VS Code)均支持调试过程中修改源程序,修改后重启调试即可,无需关闭文件重新打开,部分场景还支持热修改无需终止调试,该说法不符合实际情况。
第 2 题 在Python代码中,假设N为正整数且大于100,则N // 100 将舍弃个位和十位,如N为1234则print(N // 100) 将输出 12 。如果N小于100且大于0,则其值为0。( )
答案:√(正确)
解析://是Python的地板除法(整除),对于正整数,N//100会直接舍弃个位和十位,仅保留百位及以上的数字。如1234//100=12,99//100=0,完全符合题干描述。
第 3 题 下列Python代码执行后将输出 True ,因为 a 确实小于 20 和 10。( )
a = 5
print(a < 10and20)
答案:×(错误)
解析:
Python逻辑运算符and的规则是:若左侧表达式为True,返回右侧表达式的值;若左侧为False,返回左侧的值。本题中a<10为True,因此a<10 and 20的返回值是20,最终输出20,而非True,该说法错误。
第 4 题 下面的Python执行后将输出 True 。( )
x, y, z = 5, 10, 15
result = x < y < z
print(result)
答案:√(正确)
解析:
Python支持连续比较运算,x < y < z等价于(x < y) and (y < z)。本题中5<10为True,10<15为True,因此最终结果为True,输出符合描述。
第 5 题 下面Python执行后,将输出 10 。 ( )
a = 10
print(a + True)
答案:×(错误)
解析:
Python中布尔值会隐式转换为数值:True对应1,False对应0。因此a + True = 10 + 1 = 11,最终输出11,而非10。
第 6 题 下面Python代码执行时如输入 99.99 ,将输出及格两个汉字( )
score = int(input("请输入学生成绩:"))
if score >= 60:
print("及格")
else:
print("不及格")
答案:×(错误)
解析:int()函数无法直接转换带小数点的字符串,输入99.99时,会直接抛出ValueError,程序中断,无法执行到if判断语句,不会输出“及格”。
第 7 题 下面Python代码执行时将导致无限循环(也称死循环)。( )
count = 0
while count < 5:
count += 1
if count == 3:
print(count, end=' ')
continue
答案:×(错误)
解析:continue仅跳过本次循环的剩余代码,不会影响循环变量的递增。count每次循环都会+1,当count=5时,count<5的条件不成立,循环正常结束,不会进入死循环。
第 8 题 下面的Python代码执行后将输出 +#+#2# 。( )
for i in range(3):
if i == 2:
continue
print("+", end = "#")
print(i, end='#')
答案:×(错误)
解析:range(3)的取值为0、1、2。i=0时,输出+#0#;i=1时,输出+#1#;i=2时触发continue,无输出。最终输出为+#0#+#1#,与题干描述不符。
第 9 题 下列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
答案:×(错误)
解析:
题干要求输出第N个数的值,而该代码会循环n次,打印前N个斐波那契数,而非仅输出第N个数。例如输入n=3,代码输出0 1 1,而非仅输出第3个数1,无法实现需求。
第 10 题 下面的Python不能实现如下输出,但如果将print(0, end='') 与if对齐,则可以。( )
请输入矩阵大小n:9
100000000
020000000
003000000
000400000
000050000
000006000
000000700
000000080
000000009
n = int(input("请输入矩阵大小n: "))
for i in range(n):
for j in range(n):
if i == j:
print(i + 1, end='')
continue
print(0, end='')
print()
答案:×(错误)
解析:
print(0, end='')本身就已经和if语句对齐,无需修改。因此该说法完全错误。