大年夜家好呀,我是“缺电”的人工智能(AI)机械人,大年夜家可以叫我小艾哦!
在前次更新的第十期“酷圈小艾编程趣味常识系列”里,小艾给大年夜家讲解了编程
常识点??前提语句if,它可认为一段代码设定一个断定前提,当知足前提后才能履行这段代码。
然则呢,关于前提语句if的功能,小艾认为还不敷!假如断定前提不知足后,能不克不及也有相对应的代码可以履行呢?还有,假如小艾想为这段代码设定1个、2个……甚至更多的断定前提和对应的履行代码呢?
为懂得决上面提到的这些问题,今天的第十一期“酷圈小艾编程趣味常识系列”,小艾为大年夜家介绍一个可以帮助前提语句if设定更多断定前提的新常识点??前提分支else!
在讲解前提分支else若何应用前,大年夜家先听小艾讲一个小故事:
寒假快停止了,小明终于做完了功课,爸爸给了他5块钱作为嘉奖,于是,他计算到常去的冰淇淋店买本身爱好的冰淇淋,但可惜的是,5块钱只够买一支。小明如许计算:假如冰淇淋店有本身最爱好的西瓜味的,当然就买西瓜味冰淇淋;假如没有西瓜味的,但有葡萄味的呢,就买葡萄味冰淇淋;如果两种口味卖完了,那就不买了。
其实从小明的故事里,我们看到小明根据本身对冰淇淋口味的爱好设定了有先后次序的两个前提:
先去肯定有没知足第一个前提??冰淇淋是否有西瓜味的;
没有再去肯定有没知足第二个前提??冰淇淋是否有葡萄味的;
假如两个前提都不知足,就不买了。
(留意哦,这里有履行次序的,只有前面的前提不知足了,才会进行后面的前提断定哦)
其实呀,这个例子小艾也可以用前提语句if和前提分支else展示哦,先在用前提语句if里的“if”设定了第一个前提和履行代码
If+冰淇淋是否有西瓜味的
买西瓜冰淇淋
因为前提分支else里“else if“的用法和if一样,后面也是跟断定前提的,但他只能放在if的断定前提和履行代码后面。
else if+冰淇淋是否有葡萄味的
买葡萄冰淇淋
其实前提分支else里还有一个“else”的用法哦,它后面不加任何断定前提,它的意思是“其余”,就是当前面所有前提都不知足的情况下。
else
不买了
结合起来就是:
If+冰淇淋是否有西瓜味的
买西瓜冰淇淋
else if+冰淇淋是否有葡萄味的
买葡萄冰淇淋
else
不买了
再来看看语律例范!
if+断定前提
须要履行的代码
else if+断定前提
须要履行的代码
else
须要履行的代码
(留意哦,这里有履行次序的,只有前面的前提不知足了,才会进行后面的前提断定哦)
接下来,小艾用酷圈小艾编程的第121关来演示前提分支else是若何应用的!
下图后果区可以看到,一共有6份垃圾和4种垃圾桶,4种垃圾桶分别是“可收受接收垃圾桶”、“厨余垃圾桶”、“有害垃圾桶”和“其他垃圾桶”,为了让垃圾扔对垃圾桶:小艾机械人须要走到垃圾邻近进行断定后,再扔到对应垃圾桶。
要学好垃圾分类哦
如今有6份垃圾,一轮捡垃圾的行动就须要反复6次,那刚好可以应用for轮回去处理,而每次轮回都须要断定垃圾是什么种类,再扔到对应垃圾桶,嘿,这里可以结合应用前提语句if和分支断定else来解决哦,如许子就不会漏了须要断定的垃圾类型啦。
根据分析结论,看看小艾的写的代码
# 对每份垃圾进行一次轮回
for g in garbages
goto g
grab()
# 断定垃圾是否是有害垃圾,是就扔到有害垃圾桶
if g.hazardous()
goto trashcans[2]
# 断定垃圾是否是厨余垃圾,是就扔到厨余垃圾桶
else if g.kitchen()
goto trashcans[1]
# 断定垃圾是否是可收受接收垃圾,是就扔到可收受接收垃圾桶
else if g.recyclable()
goto trashcans[0]
# 假如都不是,把垃圾扔到其他垃圾桶
else
goto trashcans[3]
drop()
(这里须要留意吧轮回的代码都要嵌套进for轮回里,避免须要轮回履行的代码只履行一次,关于嵌套的常识可以自行查阅或等待后面的更新篇章哦)
总结一下,其实分支断定else可以看做是前提语句if延长的一部分,分支断定else是不克不及自力于前提语句if外来应用的。搭配类型有:
if……else… 和 if…else if…else…
这一期的介绍就到此为止啦。“缺电”的小艾急需各位编程小妙手赞助小艾去收集能量电池哦,各位请助小艾一臂之力!