打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
晚分享《循环之break、continue、exit》

看到大家的学习进度都基本上完成循环这一部分了,但发现很多小伙伴在循环里面的停顿、继续这几个功能还不太熟练,不知道什么时候该用哪一个。

###

所以今天晚上就跟大家分享讲解一下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个流程,只要有一个流程判定成功就跳出循环执行下一次。

resumes = ['小李','小王','小张','老李','老王','老张']
num = 0 #num表示录取的人数
for i in resumes:
# 如果录取人数大于3人,就停止招聘。
if num >=3:
break
# 如果用人部门满意就直接录取,录取人数+1,不确定的话就移交用人部门。
department_admissin = input('department,你是否非常想要 '+i+':')
if department_admissin =='yes':
num = num+1
print('恭喜'+i+'应聘成功')
continue
# 如果hr满意就直接录取,录取人数+1,不确定的话就移交用人部门。
hr_admissin = input('hr,你是否非常想要t '+i+':')
if hr_admissin =='yes':
num = num+1
print('恭喜'+i+'应聘成功')
continue
# 如果老板满意就直接录取,录取人数+1,不确定的话就进入待定。
boss_admissin = input('boss,你是否非常想要 '+i+':')
if boss_admissin =='yes':
num = num+1
print('恭喜'+i+'应聘成功')
continue

###

这段代码里面有两个需要注意的点,第一个是判定进入循环的方式。

###

这里用for循环+if条件进行判定是否大于等于3。我们之前有学习过while +条件,但如果用while就要先判定i是否在列表里。会多出一步来,理解成本也高一点。

###

from sys import exit
resumes = ['小李','小王','小张','老李','老王','老张']
num = 0 #num表示录取的人数

for i in resumes:
department_admissin = input('department,你是否非常想要 ' + i + ':')
if department_admissin == 'yes':
num = num + 1
if num == 3:
print('enough~')
exit()
print('恭喜' + i + '应聘成功')
continue
else:
print(num, '此人不在候选名单')

###

第二个需要注意的内容就是跟大家讲解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(),结束程序,不管后面的代码在循环里还是循环外都不执行。

###

上面代码中的变量命名可以按照自己的喜好来,简化都可以~有问题可以和助教一起探讨哦!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Delphi中转向语句Break,Continue,Exit的作用
Shell脚本之break,continue,和exit区别
JavaScript教程之循环结构
16 continue,break
Python 学习 while 循环
PHP跳出循环的方法及continue、break、exit的区别
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服