畫方形
-
畫筆繪圖這個模組之所以命名為Turtle,概念是源自於 Seymour Papert 和 Wally Feurzig 於1966 年所創造用來引導孩子們學習程式設計的海龜繪圖(Logo)程式語言。
一個Python模組是一個檔案,內含Python程式指令,可以提供其他Python程式應用。只要匯入模組,就可以使用在模組裡事先定義的函式或變數。例如:匯入 turtle 模組後,就可以使用 Screen()方法來產生畫布,或是使用 Turtle() 方法產生一個海龜進行繪圖,這二個方法都是在 turtle 模組裡定義的。
Turtle繪圖座標
透過import turtle(匯入turtle繪圖模組)這行敘述的執行,Python就會多知道了許多關於海龜繪圖的指令。首先,執行 window = turtle.Screen()及 john = turtle.Turtle()這二行指令,你可以想像在 x-y 平面上,有一隻叫做 john 的海龜(Python預設圖案是箭頭)位於原點(0,0)的位置。
Python是一個物件導向的程式語言,利用「點」符號可以使用模組裡的資料,例如使用 turtle 模組裡的 Turtle()方法可以寫成 turtle.Turtle(),以中文來解讀意思是:「在 turtle 模組中,取用名為 Turtle 的方法」。這個方法會傳回一個海龜物件,我們將這個物件指定給 john 這個變數來儲存,你也可以為你的海龜取一個英文名字。
在執行了 window=turtle.Screen()這行指令之後, window 這個變數就會儲存一個畫布物件,並且繼承 turtle 模組事先定義的畫布物件的屬性與方法。在使用物件的屬性或方法時,會是使用
.
語法,可以解讀為中文字的
,而屬性與方法的差別,在於呼叫方法時會帶有()
(小括號),有時候小括號中會帶有參數傳入給方法進行運算。例如:呼叫設定畫布大小的方法,可以寫成window.setup(480,360),解讀為中文即是畫布的大小設定為寬480像素,高360像素。呼叫設定畫布顏色的方法,可以寫成window.bgcolor(“lightgreen”),解讀為中文即 是畫布的背景色設為淺綠色。在設定畫布背景顏色時,顏色名稱前後要加上單引號或是雙引號,代表它是一個字串,如果沒有加引號,Python會把它當做是變數名稱。接著,再執行 john.forward(100),這隻叫做 john 的海龜將朝它所面對的方向(預設是x軸正方向)前進100個像素,並且隨著它的移動會畫出一條線段。執行 john.right(90) 指令,這隻海龜就會在原地右轉90度。配合 forward 和 right 這二個指令,我們就可以來用Python練習一下畫方形。
Using Python
for迴圈
for i in [0,1,2,3]: # 計次式迴圈,重複執行4次 john.forward(100) # 告訴海龜往前走100個單位 john.right(90) # 告訴海龜右轉90度
for
和in
是Python的關鍵字,兩者之間可以放置使用者自訂的變數,而in
後面接著一個序列,在這個例子中,我們使用了串列 (list),它是序列的其中一種。for迴圈會依序從序列中取得元素,並且將元素指定給前面自訂的迴圈變數(此例為i
),再執行迴圈裡的內容,直到序列每一元素都被取出過為止。在Python中,串列(List)是有序的物件集合,具有索引特性,功能類似我們在八年級中學到的陣列(在Scratch中稱為清單)。串列的長度可以變動。要建立串列,可以使用
[]
(中括號),串列中每個元素,使用,
(逗號) 來區隔。在上面的例子中,迴圈變數
i
是用來控制迴圈執行的次數,我們並沒有在迴圈中使用到這個變數i
。另外,我們創造了包含0,1,2,3等4個數字的串列,你也可以使用range()這個Python內建函式來產生這個有規則的整數串列,例如輸入range(4)便會產生一個從0開始,小於4的整數串列,它會回傳[0, 1, 2, 3]這個串列,所以上面的程式碼可以寫成:for i in range(4): # 計次式迴圈,重複執行4次 john.forward(100) # 告訴海龜往前走100個單位 john.right(90) # 告訴海龜右轉90度
所以上面使用循序結構的畫方形的14行程式碼可以改寫成以下使用重複結構的9行程式碼:
import turtle # 匯入turtle模組,允許我們使用turtle指令 window = turtle.Screen() # 產生畫布以進行畫圖 john = turtle.Turtle() # 建立一個海龜turtle,它的名字叫john for i in range(4): # 重複執行4次 john.forward(100) # 告訴海龜往前走100個單位 john.right(90) # 告訴海龜右轉90度 window.exitonclick() # 等待使用者關閉視窗
Using Colaboratory
1.安裝ColabTurtle
2.安裝執行後會看到安裝完成畫面
3.新增「程式碼」
4.import 匯入 ColabTurtle劃一直線並轉彎
結果
5.畫一個正方形
6.用for迴圈畫正方形