學習目標:
1、進一步學習for循環,能夠靈活用于其它對象。
2、for循環進階練習,理解并掌握嵌套循環的使用,這個知識比較難理解,需要多練習,多思考去想明白。
知識講解:
“嵌套循環”是循環內部再加一個循環。外層循環稱為外循環,內層循環稱為內循環。當使用嵌套的“for”循環時, 它的執行過程是由外到內,外層循環每執行一次,內層則執行一個完整的循環。
讓我們想象一下,我們在找一個人,他在一棟五層的樓里。每一層都有好多個房間,我們怎樣確保找遍每一層的每一個房間?
來看看下面的程序代碼(#表示注釋,也就是他后面的部分不會作為代碼執行)
for f in floors #外循環從一樓開始一層層找
for r in roomsOf f # 內循環每一層樓的房間挨個找
search r
goUp # 當這一層找完了,我們再上一層
解釋:外循環開始執行,進入第一層,然后進入每層樓的內循環,我們將檢查所有房間。內循環執行結束,表示找完了了一層的所有房間,我們再回到外循環,進入下一層,到達二樓,然后內循環將從二樓開始搜索每一個房間,這樣繼續下去。
實戰練習:
下面我們將迎來一個新的角色(對象)——鱷魚。鱷魚是用來形成水中的一座橋梁,幫助codemonkey吃到香蕉。他們只能“turn”或“turn To”。我們也可以通過創建“for”循環,來代替告知每一只鱷魚進行轉向。代碼可以這樣來寫:
for c in crocodiles
c.turnTo banana
這個“for”循環有一點點不同,想一下我們如何讓烏龜前進的?turtle.step
好,鱷魚也是一樣的。我們要告訴他們轉向(crocodile.turnto),這就是為什么循環的變量(c)是在函數名(turnTo)前面。
第66關:根據上面的所講的知識,通過for循環控制三只鱷魚轉身,形成小橋,然后小猴就可以去吃到香蕉了。

第67關:這一關鱷魚可沒有那么聽話排的整整齊齊的,如下圖所示。不能簡單的用向左、向右了,我們這里要用到turn to ,面向誰呢?大家思考一下吧。

第68關:越來越難拿到香蕉了,這一關我們要靠鱷魚過河,然后還要走完整個小島,其實我們發現這一關就是第66關與第63關的結合,回憶一下,那么本關只需要通過2個循環就可以搞定啦。

第69關:如果你看明白了本節知識講解講述的嵌套循環,那么這一關你應該有了思路,我想你這一關估計要花點時間,因為嵌套循環的確有點不太好理解,別著急慢慢想。

思路:外層循環指定香蕉,每循環一次吃到一個香蕉,這里內循環就需要鱷魚配合了,內循環指定鱷魚,讓鱷魚轉向外循環所指定的香蕉,這樣小猴就能吃到了。
第70關:上一關都沒難倒我們,這一關豈不是更簡單了?從難度進階上,在此我到想建議69關與70關前后換個前后順序。

課后練習:完成本系列知識對應的特技關卡

循環中嵌套循環是比較難理解的,希望大家多多練習,理解并能夠靈活運用。
答案:
(歡迎大家留言交流,希望本系列能幫助到學習中遇到困難的家長和孩子們,真正在玩中學習到知識。如果你想購買,可以加入少兒編程網官方qq群,人數20+可以組團購買)
本站內容未經許可,禁止任何網站及個人進行轉載。