while(0)循环还执行吗_「武鹏有课」Pythonko控制循环结构

这节课我们学习如何控制循环:

假如说在循环体内,有没有方法能够跳出循环,或者是让循环继续进行。答案是有的,break语句就是跳出循环。我们来看代码,当num等于0的时候,满足条件进入循环,然后输出,让num自身加1,然后又自身加1。有的同学说就直接自身加2不就完了吗?可以,为什么要写两句呢?有用,后面的代码也会继续在这上面扩展,实际上就等于自身加2。它输出的应该是什么呢?0 2 4 6 8。

adf510131606e5d34051e2b31864d5a2.png

沿着这段代码再次深入。在两个自身加1语句中间加了一个“break”退出语句,输出结果将是什么呢?num等于0,满足条件进入循环,输出0,然后自身加1,num的值由0更新为1,break跳出循环,然后执行循环体下面的语句。我们看到的就是输出0之后,输出“完成”。

e37b3daf1cd7b5edad1534ad00427f10.png

再看,我在break跳出语句前做了一个判断,当满足条件的时候,才会执行跳出语句,才会跳出循环。不满足条件时候,是不会跳出循环的。0自身加1,1等于5吗?不等于,不满足条件,怎么办?再加1变成2,再判断2小于10吗?小于,再输出,第二波循环我们输出是2,2加1变成3,也不满足条件,再加1变成4,判断后再输出就是4,4加1变成5,5是否等于5?等于,满足条件跳出循环。所以,我们看到结果:0 2 4完成。这就是跳出语句,只要在循环体内执行到跳出语句,它就无条件的就跳出循环。

dcc34338c02ce8f0b29c53991a8a77a6.png

还有一个跟它相反的语句叫“continue”, continue继续的意思。我们比较一下这段代码跟上面是一样,它执行完的结果:0 2 4 6 8 完成,因为这个continue被注释掉了,它不会被执行,如果把continue的注释打开,看一下,先输出0,然后加1变成1,到continue,执行到这里的时候注意,break是往下,跳出来执行循环体下面的语句,而continue是往上再执行到循环体的判断。那么1小于10吗?小于。然后变成2,2再回去再判断。实际上continue之后的语句永远执行不到了,一直到不满足条件的时候退出循环。num的值是10,而我们只能看到上一步输出的是9,因为不满足条件退出循环了。

再看第二个循环,0小于10满足条件,第一个输出是0,然后加1不满足条件,就不会执行continue,然后再加1就变成2,再判断再循环, 2加1是3不满足条件,再加1变成4,4小于10再回来,然后再加1是5,5满足条件,满足条件要执行continue,直接回到循环的判断处,num的值是5,5小于10,所以下面输出的是5,然后再加1变成6,6又不等于5了,所以continue不会被执行。往下再加1变成7,然后再循环。再加1又不满足条件,就等于7连续加了两次1变成9,9满足条件,输出9,然后再加1变成10还是不满足条件,然后再加1变成11,11就不满足循环的条件了,整个循环就退出了,输出:“完成”。所以我们看到的结果是0 2 4 5 7 9 “完成”。

379e90f1513409ef1deccc1f3d799d50.png

通过这些实例可以看出break是跳出循环的语句;而continue是回到循环之初做判断,继续下一轮循环的语句。这就是它们的区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值