理解python中嵌套while循环中的概念的问题
Posted
技术标签:
【中文标题】理解python中嵌套while循环中的概念的问题【英文标题】:Problem understanding a concept in nested while loops in python 【发布时间】: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;它只是意味着一旦检查了条件,循环就会终止。
哦!非常感谢,我觉得我想太多让自己变得更加困难。
【参考方案1】:
在第一个循环中,您的条件小于 4,但是当您进入下一个循环时,您的条件会发生变化。它变得小于 6。第二个循环与第一个独立。
【讨论】:
以上是关于理解python中嵌套while循环中的概念的问题的主要内容,如果未能解决你的问题,请参考以下文章