今天我们来讲两个特别特殊的关键字啊,一个叫break,一个叫continue。咱们先不管它俩是干嘛的,咱们先去写一个程序,比方说我有人骂我,我很生气,所以想无限的去回骂。那这个时候肯定是while true。然后呢,去输入想要骂的句子,content=input("请输入你要骂的内容:")。
然后有了这个内容之后呢,我们就把它发送给讨厌的人,然后content。注意啊,这个打印语句呢,可以通过逗号儿,把这两个东西隔开,然后一起打印出来啊。先是发给讨厌的人,然后把content这个东西接上去啊,那我们这个程序就可以跑了。
然后会显示请输入你要骂的内容,我们就在上面写就可以了。
但是呢,这种方式不好。这个程序你如果不借助于外界的话,是停不下来的。比方说我现在想让它停,我只能去点停止运行,只能借助于外界来让这个程序停下来。所以此时我们需要一个操作让这个循环停下来,能有个循环体现。但是呢,这个条件呢,很难给。
那么这个时候,我就可以选择用这里面的break来做停止循环的这么一个操作。break的作用是让当前这个循环立即停止。比方说我们可以设置条件,输入一个q结束骂人,那我就可以判断一下嘛,
如果你输的这个内容==q,你输入的内容是q的话,我们加上一个break。这里面有一个操作,就是这里面的两个等于号表示判断左右两端是否一致。你输入的内容和这q是一致的话,那这个break会结束循环。它不是让你整个程序挂掉,它是让你循环挂掉,比方说你后面还有一个print (123),这123还是正常要执行的。而如果说你要程序停掉的话,那123就不执行了。所以这个地方要小心,它是结束循环,不是让你整个程序终止掉啊。
来我们试验一下吧。
看,我输一个q,一回车,循环就结束了。不是程序结束了,是循环结束了,后面的123还能打印出来。
所以这里面我们的break可以起到这样一个作用,就是结束这个循环。
还有一个词叫continue。它呢,是停止当前本次循环,继续执行下一次循环啊。那比方说啊,我现在让你做这么一个程序,给我从一数到十。很简单嘛,i=1 while i小于等于十的时候,print这个i。然后呢,i加等于1,那这个时候从一数到10,一点毛病没有。
但是如果这里面有一个数字,我特别不喜欢,比如碰到了四,那我特别讨厌这个四,我想把它过掉,怎么办呢?我们就可以加上一个判断,如果i等于等于四了,continue。
但是呢,这里面还有一个问题,把它跑一下。
发现了,四确实没出来,但程序就死在这儿了,为啥死在这儿了?
琢磨琢磨i=1,i=4的时候,四小于10, i=4 ,continue又上去了。它会停止当前这一次循环,继续去执行下一次循环,所以它就相当于i=4成立,成立之后呢,continue 直接回去,i还等于四,那还成立,还continue。就这样在这块儿无限的绕上圈儿了。
所以这个时候之前必须i=i+1,让i往前走一个。这个时候我们再看效果。
i=4就没了。,所以continue的作用是终止当前本次循环,继续执行下一次循环,这个是continue的一个含义。
那么continue跟break它们两个都有终止的意思啊,但是千万不要搞混了。continue,如果你真的把它翻译下来的话,它叫继续。break呢,就是彻底的打断,干掉的意思。
那这两词用的场景是什么呢?break就是比方说我处理数据,处理数据的过程中,发现有一个数据会直接影响到我最终的结果,那我后面儿就不需要再进行计算了,那此时我就可以直接break啊,就停止这循环就完事儿了,直接得结果了。
还有一个叫continue的。一般什么地儿能用到它呢?我们假设啊,就是做数据检索啊,检索的时候你会发现,数据库里面有的时候啊,会有一些个无用的数据,无效的数据,你说你处理它干嘛呢?没意义,所以直接continue。就好比说我们发工资,你数据库里面有100个人要等着发工资,那你得一个一个循环,一个一个的发。但是这100个人不一定都在你公司,有些人他已经离职了,离职的人不需要发工资,所以就要判断一下这个人是不是离职了啊。如果已经离职了,continue。当前这个就不需要再往后走了,剩下的人如果说没离职,我就可以继续去发工资。
所以用break呢,用的多不多呢?还行。但是你说它到处能用吗?并不是啊,基本上都是一些特定的场景上会用到这个。
这俩词儿简单的能记住就行啊,咱们后面如果写到一些比较大一点的程序的时候,你才能感觉到它俩的一个作用。
那这俩词儿呢,就说到这儿,谢谢各位。