天天看點

《像計算機科學家一樣思考Python》——4.2 簡單重複

本節書摘來自異步社群《像計算機科學家一樣思考python》一書中的第4章,第4.2節,作者[美]allen b. downey,趙普明 譯,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

你可能會寫下如下代碼(除去建立turtleworld和等待使用者的操作外):

使用for語句,可以更緊湊地實作同樣功能。把下面的例子加到mypolygon.py中,并再運作一次:

你可能會看到如下輸出:

這是for語句的最簡單用法,後面我們會看到更多的用法。但這樣已經足夠重寫剛才的畫正方形的程式了。請重寫後再接着閱讀。

下面是使用for語句繪制正方形的程式:

for語句的文法和函數定義類似。它也有一個以冒号結束的語句頭,并有一個縮進的語句體。語句體可以包含任意數量的語句。

for語句有時被稱為循環(loop),因為執行流程會周遊語句體,之後從語句體的最開頭重新循環執行。在這個例子裡,語句體執行了4次。

這個版本的代碼和之前的繪制正方形的代碼其實還稍有不同,因為在最後一次循環後它多做了一次左轉。多餘的左轉稍微多消耗了點時間,但因為每次循環做的事情都一樣,也讓代碼更簡練。這個版本的代碼還有一個效果,程式執行完之後,烏龜會回歸到初始的位置,并朝向初始相同的方向。