看到大家的学习进度都基本上完成循环这一部分了,但发现很多小伙伴在循环里面的停顿、继续这几个功能还不太熟练,不知道什么时候该用哪一个。
###
所以今天晚上就跟大家分享讲解一下continue、break以及exit之间的区别,什么情况下该使用哪个函数。
###
为了讲解这个知识点,助教给大家编写一个案例,要仔细听哟~
###
大家也知道我们公司(风变科技)最近发展良好,技术部门准备面面向学习完课程的同学招聘3个Python工程师。
###
许多学员听到这个消息都非常高兴,纷纷响应,简历如雪花般飞来,HR从中精心挑选了6份简历名单,邀约面试!
###
这六个人分别是 i = ['小李','小王','小张','老李','老王','老张']
###
按道理,所有的候选人都要经历三轮面试,分别是HR、用人部门、老板。但我们公司比较特殊,用人部门、HR、老板都有权利直接录取候选人,候选人一旦被直接录取,就不用再参加下面的面试。
###
所以我们现在已经有两个条件:
1、要从6个人中应聘3个人
2、应聘者分别需要经过3个面试流程,但只要有一个面试官非常想要,就可以直接留下来。
###
如果这样子的一个程序要我们写该怎么写呢?给大家思考5分钟。可以回想一下课堂中关于循环的案例。
###
好那我们来讲一下,根据条件1,6个面试者只需要3个,可以设定一个变量:招聘岗位 > 3,程序就不需要执行了。这里我们可以直接用结束循环函数break来实现。
###
根据条件2,我们需要设定3个流程:每一个应聘者进来都预设了3个面试流程等待他,如果碰到某个面试官非常想要,就可以直接留下来。如果3个面试流程都没有非常想要,就进入待定。
###
这样的话,我们可以设定三个流程分别是:1 用人部门是否通过/2 HR是否通过/3 boss是否通过,在面试流程当中,只要一个通过,后面的流程就不需要执行了。那这里应该用break 还是continue呢?
###
这里需要用到continue,continue的用法是结束本次循环,进入下一次循环。所以只要有一个流程特别想要就算招聘了一个人,然后邀请第二个人进行面试。
###
综上分析,代码的逻辑应该是这样的:
1、定义列表,里面有6个元素 对应6个应聘者。
2、定义招聘人数变量
3、建立循环,判定人数变量大于4就不进入循环,可以用while 也可以用for
4、循环里面有3个流程,只要有一个流程判定成功就跳出循环执行下一次。
###
这段代码里面有两个需要注意的点,第一个是判定进入循环的方式。
###
这里用for循环+if条件进行判定是否大于等于3。我们之前有学习过while +条件,但如果用while就要先判定i是否在列表里。会多出一步来,理解成本也高一点。
###
###
第二个需要注意的内容就是跟大家讲解continue 和 break
continue 一个是结束本次循环执行下一次
break 一个是结束循环,执行循环外的内容
###
假如一整个循环本来需要循环5次,而实际上可能只需要循环2次就能够得到我们想要的结果,那么后面3次循环就不需要执行,这个时候就可以直接break,后面的3次循环就不执行了。
###
如果一次循环本来需要执行5行代码,而实际上可能执行前2行代码就能够得到我们想要的结果了,那后面的3行代码就不需要执行,这个时候就可以直接continue,跳过后面2行代码,进入下一次循环。
###
相信这个已经解释的很清楚了,大家都知道了吧。
###
那还有就是exit()函数。exit()和break的区别是什么呢?
break()是结束循环,执行循环外的内容
exit()是结束程序,这个程序里面不管循环外还是循环内都不执行了。
###
还是用上面的招聘案例,我们再来理解一下exit()的用法,比如现在条件改成只需要招聘一个人就好了。那怎么修改原来的代码呢?
###
其实很简单,只要把循环里面的continue改成exit()就好了。这样只要有一个人被选中就会可以结束程序,停止招聘了。
###
另外还有一个要点,是在用exit()函数的时候,要注意用法在本地运行和课程内容运行区别,我们的课程使用的是网页,在课程里面运行是需要引用函数,在本地就不需要了。
###
引用exit函数,只要在程序开始的时候第一行输入from sys import exit就好了。
###
好了今天要跟大家分享的知识点就结束了。那我们来总结一下这三个功能的用法一般都与循环连用。
###
1、程序遇到 continue,跳过循环后面,进行下一次循环
2、程序遇到 break,结束循环,之后循环外部的代码
3、程序遇到 exit(),结束程序,不管后面的代码在循环里还是循环外都不执行。
###
上面代码中的变量命名可以按照自己的喜好来,简化都可以~有问题可以和助教一起探讨哦!
联系客服