目录
介绍
break和continue这两个语句是循环中满足一定条件退出循环的两种不同方式。
---------------------------------------------------------------------------------------------------------------------------------
理解
什么是break?就是执行到这一代码跳出整个循环,不再继续进行。现实例子就是你需要吃五个苹果才能完成任务,但是你吃到第三个吃不下了,这时候来个break,你就结束这个任务,也就不再吃了。
什么是continue?就是跳出本次循环继而执行下一次循环。这是什么意思呢?还拿吃苹果为例,你现在吃到第三个苹果(本次循环)发现这个苹果坏了(跳出本次循环),然后你顺手拿了第四个苹果吃(执行下次循环代码),这就是continue。
---------------------------------------------------------------------------------------------------------------------------------
案例
我们现在在Python中去直观的感受一下这两个代码,还是拿吃苹果为例,基础代码如下:
i = 1
while i <= 5:
print(f‘吃了{i}个苹果’)
i += 1
现在我们加入吃到第三个吃不下了这个条件(break)
i = 1
while i <= 5:
if i == 3:
print('吃饱了,不吃了')
break
print(f'吃了{i}个苹果')
i += 1
执行结果如下:
看完break之后我们再来看看continue,提问:关于continue,是不是将上述代码中的break改为continue就行了?我们来看一下它的执行结果:
这里只是执行结果的一部分,可以看到解释器一直在输出同一句话,说明这时已经进入了死循环当中,为了探明原因,我们来用调试工具看看它具体是怎么执行的。
可以看到前两次是正常执行的,但当我们执行到第三次时,代码在执行到continue语句后,是直接进行了下一次的循环而没有执行后面的代码,而此时,i的值是没有变的,所以代码会一直执行if中的print语句,这就造成了死循环。
这就给我们一个重要的提醒:在运用continue时,一定要保证在continue前面有变量的变化,这样才能避免进入死循环中。
经由上面的提醒,我们可以修改一下代码。
i = 1
while i <= 5:
if i == 3:
print('有虫子,吃下一个')
i += 1
continue
print(f'吃了{i}个苹果')
i += 1
运行结果如下:
可以看到此时的结果是正常的,这就再次验证了 “在运用continue时,一定要保证在continue前面有变量的变化,这样才能避免进入死循环中” 这句话的正确性。