天天看點

《教孩子學程式設計(Python語言版)》——2.2 旋轉的海龜

本節書摘來自異步社群《教孩子學程式設計(python語言版)》一書中的第2章,第2.2節,作者[美]bryson payne,李軍 譯,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

讓我們看看當修改了程式中某一個數值的時候,會發生什麼?學習和程式相關的新知識的一種方法是,當我們修改其某一個部分的時候,看看發生了什麼。我們不會總是得到一個很好的結果,但是,即使是某些地方出錯的時候,我們也能學到東西。

我們隻是将程式的最後一行修改為t.left(91),将其儲存為squarespiral2.py。

squarespiral2.py

我們提到了向左轉90°會建立一個完美的正方形。每次向左轉的比90°多一點點的話(在這個例子中,是91°),會将正方形略微向外抛出一點點。由于我們進行下一次旋轉的時候,已經偏離了一點點,随着程式繼續進行,新的圖形越來越不像是一個正方形。實際上,它建立了一個開始向左旋轉的、漂亮的螺旋形,就像是樓梯一樣,如圖2-2所示。

《教孩子學程式設計(Python語言版)》——2.2 旋轉的海龜

這也是一個漂亮的圖形,可以幫助我們了解如何隻略微修改一個數字,就顯著地改變程式的結果。1°似乎并不是一個很大的偏差,除非我們偏離1° 100次(這加起來就是100°),或者1000次,或者,如果我們使用的是飛機着陸程式……

《教孩子學程式設計(Python語言版)》——2.2 旋轉的海龜

如果還不知道度是如何工作的,現在先不要擔心,我們隻要嘗試修改數字,看看發生了什麼就好了。我們通過修改range後面的圓括号中的值,讓程式繪制的線條數達到200或500,或者50。

我們再嘗試将最後一行的角度修改為91、46、61或121等。記住每次都儲存程式,然後,我們運作它,看看所做的修改會如何影響到程式的繪制。年齡大一點的讀者了解一些幾何知識,可能會根據不同的角度看到一些熟悉的形狀,甚至能夠在程式運作之前根據角度來預測出形狀。較小的讀者則隻能夠感受修改帶來的變化,等他們某一天上了幾何課之後,可以再回頭來看這個練習。