【发布时间】:2019-12-05 17:22:29
【问题描述】:
为什么 while 循环没有在 4 或 2 处停止?
我尝试使用小于或等于号而不是小于号,但它所做的只是给我留下了更多问题。
i = 0
while i < 4:
while i < 6:
i = i + 2
print(i)
我希望输出为 2,因为当第一个 while 循环的条件变为 false 时,循环应该退出,或者如果我们不考虑第一个语句而只使用第二个语句,它应该输出 4,因为第一个和第二个循环的条件是小于不小于或等于。
我得到的实际结果是 2、4、6,我不知道为什么。
回复发表的评论: 不,我期待外部循环在 i 等于 2 时退出,就好像它等于 4 然后它小于或等于,尽管它应该是
编辑:感谢大家的帮助,我意识到在睡眠不足的情况下编程是多么令人沮丧。
【问题讨论】:
-
您是否希望外循环在
i>= 4 时退出? -
我不确定我是否完全理解为什么你期望它在 2 时退出,但并不是说没有不断检查条件;仅在执行返回到循环顶部时才检查它。或者换句话说,外部条件只会在内部循环完成时检查。
-
谢谢,但我还有一个问题,为什么 'i' 到 6 不应该小于 6 而不是小于或等于 6?
-
i从 4 变为 6,然后检查条件。i < 6不会阻止i超过 5;它只是意味着一旦检查了条件,循环就会终止。 -
哦!非常感谢,我觉得我想太多让自己变得更加困难。
标签: python while-loop nested-loops