下面的 Python 代码执行后其输出是( )。 cnt = 0 for i in range(3): j = i while j: cnt += 1 j -= 1 print(i, j, cnt)
A:2 0 3
B:2 0 4
C:2 0 5
D:3 0 5
正确答案:A
答案解析
初始化 cnt 为 0;外层循环 i 从 0 到 2(range(3));每次迭代时 j 被赋值为当前 i 的值;内层 while 循环在 j 非 0 时执行,每轮将 cnt 加 1 并将 j 减 1;while 结束后 j 必然为 0;每次外层循环都会打印当前的 i、j 和 cnt 的值;打印操作在 while 循环之后执行,因此 i 和 j 的输出取决于当前循环轮次及 j 的递减过程;cnt 的值随每次 while 循环体执行而累加,其最终值由所有轮次中 j 的初始值决定。
试卷来源:202606 CCF-GESP编程能力等级认证Python二级真题