求解答Python选择题详解

a=12138
cnt=0
while a>0:
a=a//10
if cnt==3
break
elif cnt==2:
continue
else:
cnt+=1
print(a)


a=12138
cnt=0
# while 只要a>0,没有break,就一直循环
while a>0:
  # a整除,向下取整
  a=a//10
  # 当cnt==3结束循环
  if cnt==3:
    break
  # 当cnt==2时,进入下次循环,不执行后边逻辑
  elif cnt==2:
    continue
  # 其他情况cnt+=1
  else:
    cnt+=1
  # 输出a
  print(a)

# 第一次循环 a=12138 cnt=0,进入循环, a=a//10=1213,cnt+=1 ,cnt=1,输出print(a) 1213
# 第二次循环 a=1213 cnt=1,进入循环, a=a//10=121,cnt+=1 ,cnt=2,输出print(a) 121
# 第三次循环 a=121 cnt=2,进入循环, a=a//10=12,cnt==2,跳出进入下次循环
# 第四次循环 a=12 cnt=2,进入循环, a=a//10=1,cnt==2,跳出进入下次循环
# 第五次循环 a=1 cnt=2,进入循环, a=a//10=0,cnt==2,跳出进入下次循环
# 第六次循环 a=0 cnt=2,不满足a>0,结束循环

结果:输出a为0
分析:cnt自增到2以后维持不变,当a被整除到0后跳出循环。
欢迎采纳,谢谢~

(a,cnt)的变化过程
(12138,0)-->(1213,1)-->(121,2)-->(12,2)-->(1,2)-->(0,2)