为什么第三次迭代不会发生在 Loop 中?

时间:2021-03-17 11:10:59

标签: python python-3.x

num = 5
if num > 2:
   print(num)
   num-=1
print(num)

对于第一次迭代 num =5 和 5>2 num =4,对于第二次迭代 num = 4 和 4>2 num=3。 为什么第三次迭代没有发生?编译代码时,输​​出为 5,4,但我预期为 5,4,3,因为 3 大于 2。任何人都可以帮我解决这个问题。

谢谢

1 个答案:

答案 0 :(得分:0)

因为 if 不是迭代命令,它是一个选择命令。

此处的 if 语句将只运行一次,5if 内输出,4 由最后的 print 语句输出, 之后 if 完成。

如果你想要迭代,你需要while,比如(没有最后的print,给出5, 4, 3):

num = 5
while num > 2:
   print(num)
   num -= 1