今天我们进入“否则”世界,学习else这个指令的功能。
本教程大约1400字,图片47张,阅读时间10-15分钟。
第112关
山羊虽然不和猴子抢成熟的香蕉,但是山羊对未成熟的香蕉情有独钟。
这一天,山羊和猴子不期而遇。
虽然山羊平日里帮助猴子破冰,让猴子吃到成熟的黄色香蕉,但当面对未成熟的绿色香蕉时,山羊当仁不让,要吃香蕉。猴子表示很理解,山羊总是在忙碌,也需要补充能量嘛!
我们可以用下面这行代码让山羊吃到香蕉。
我们的猴子看着山羊吃到绿色香蕉,心里一定很开心吧!
这一关就这么过了哦?!
第113关
我们一定要记得,猴子是吃成熟的黄香蕉的,山羊偏好未成熟的绿色香蕉!
我们看看下面的代码。
这行代码只是让山羊前进15步吃到绿色香蕉,那么对于猴子呢?
我们需要在第2行里写一行代码,让猴子吃到黄色的香蕉。
点击运行,我们可以看到山羊直扑向绿色的香蕉,猴子直扑向黄色的香蕉,真不知道他们的这些偏好是怎么来的。
这就通关了,不要怀疑,就这么简单!
第114关
其实,猴子和山羊都不法分辨香蕉的颜色,为了不让这两个小伙伴因为抢香蕉而打起来。那么如何让猴子和山羊也分辨出香蕉的颜色呢?
我们可以用banana.green()这个函数来判断香蕉的颜色是不是绿色。如果香蕉是绿色,banana.green()返回yes;否则,返回no。
上述代码的第一行是没有必要的,去掉之后,我们得到如下代码:
点击运行,看效果!
三星通关!
第115关
猴博士说,if指令可以判断yes或no,如果返回的是yes,那么就会执行if判断语句里的代码。如果返回的是no,就不会执行任何语句。这显然是不够用的,所以我们需要引入else指令,来完成当if判断式返回no的时候可以执行的指令。
现在猴子和山羊之间有一个成熟的黄色的香蕉,我们需要用if语句判断香蕉是否是绿色的,if banana.green()返回的是no,那么不能让山羊去吃香蕉。
代码就进入else语句里,因为香蕉是黄色的,所以要让猴子去吃香蕉。
把第2,4行里的代码改成如下的代码。
点击运行,看效果。
三星通关!
第116关
if...else...判断语句可以用在for循环里,从而对每个香蕉都可以做判断。
我们看到猴子和山羊背靠背,四周都是拿着枪的敌人,,,不, 是香蕉。
那么右边的代码的主要意思是,对每一个香蕉,如果香蕉是绿色的,就让山羊面对它;否则,就想猴子走向它。
是不是觉得不对劲了?
对的,在第3行里,不能只让山羊面对绿色的香蕉,应该让山羊走向香蕉。
代码可以改成下面的样子:
点击运行,看效果!山羊和猴子都在欢快地抢着吃香蕉啊!
三星通关!
第117关
我们可以再来点更复杂的,比如加入冰块哦!
我们需要让山羊撞开每一个香蕉!代码如下:
那么山羊撞开冰块之后呢?
我们需要用if...else...语句让猴子和山羊分别吃掉不同颜色的香蕉。
代码可以如下:
点击运行,看效果!
三星通关!
第118关
为了让山羊和猴子分别吃不同的香蕉而不至于打起来,我们可以用一条河把他俩分开。
可是,我们依然需要使用if...else...语句让猴子吃黄色的香蕉,让山羊吃绿色的香蕉。
我给出的代码如下:
点击运行,看效果!
三星通关!
第119关
还有更加复杂的情形,我们需要用if...else...语句做两个事情:
1. 如果香蕉是被冻住的,那么就让山羊撞碎冰块;否则,山羊就不要轻举妄动;
2. 如果香蕉是绿色的,那么就让山羊去吃香蕉;否则,(香蕉是黄色的)就让猴子去吃香蕉。
我们需要定义两个函数,一个是breakBanana这个函数,用来撞碎冰块。另一个是eatBanana这个函数,用来判断是谁去吃香蕉。
我给出的代码如下:
点击运行,看效果!
如此复杂的情况,我们可以用几行代码就轻松解决,这多亏了我们这次学到的if...else...判断式。
三星通关!
总结:
这次我们学会了else语句,用来解决if判断式里返回no的情况。
下一次,我们将会进入布尔代数,即Boolean,是计算机科学中的逻辑数据类型。