今天我們進入“否則”世界,學習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,是計算機科學中的邏輯數據類型。