^

Python Turtle模組繪圖教學

HiThink-logo
海獅程式團隊
Nov 16,2021(修)

Python程式設計已學習資料型態及基礎語法,那下一步可以學什麼?馬上來挑戰用指令控制海龜開始天馬行空創意繪畫應用。

Python Turtle模組繪圖教學篇
Python Turtle模組繪圖教學

...

本文為Turtle基礎操作教學,適合Python初學者閱讀,看完一定能讓大家學懂Turtle繪圖觀念,學會用Python指令畫出第一筆。

文章分成三個章節:Turtle模組基本介紹、Turtle模組使用方法、Turtle繪圖基礎控制。初學Turtle繪圖依文章順序往下閱讀;有實際操作經驗可依文章索引查詢主題。

文章索引

Turtle模組基本介紹:

  • 1.1 認識turtle模組

Turtle模組使用方法:

  • 2.1 載入turtle模組
  • 2.2 設定畫布環境
  • 2.3 控制繪圖程式
  • 2.4 結束繪圖程式

Turtle繪圖基礎控制:

  • 3.1 如何設定畫布大小
  • 3.2 如何指定turtle位置
  • 3.3 如何控制turtle朝向角度
  • 3.4 如何改變turtle顏色應用
  • 3.5 如何控制turtle停筆或下筆

...

Turtle模組基本介紹

1.1 認識turtle模組
Turtle模組是一種簡易繪圖程式,操作方式為載入turtle模組,開啟一個畫布(screen),就能開始控制指標(turtle)移動方向(上、下、左、右)和繪圖應用(下筆、停筆、變換畫筆顏色)等變化應用,所有的控制動作都是使用指令語法操作。

Turtle模組全名是Turtle graphics,初學Python容易因為名詞而產生困惑,這些名詞都是相同(Turtle、Turtle graphics、Turtle module、Turtle繪圖、Turtle模組、海龜繪圖)。

但Python是文字模式,繪圖是圖形應用!使用Turtle模組真的能繪圖嗎?
就讓我們一起學下去‧‧‧

...

Turtle模組使用方法

本章節將探討Python程式設計如何載入turtle模組?如何結束turtle程式。

2.1 載入turtle模組
Turtle模組在Python程式語言中為內建模組,不須安裝可直接載入使用。
程式語法:import turtle

2.2 設定畫布環境
Turtle繪圖的任何繪圖動作都必須在畫布(繪圖區域)上操作,因此需要先初始化畫布物件,再依需求配置畫布環境設定。此指令可指定screen為畫布物件方法。
程式語法:screen = turtle.Screen()

注意事項:
turtle.Screen()的"S"必須是大寫字母

2.3 控制繪圖程式
當畫布環境設定完成,就能開始使用函式功能來控制turtle動作(移動、方向、顏色等)。此語法可控制turtle往前10個像素(pixel)。
程式語法:turtle.forward(10)

2.4 結束繪圖程式
當程式執行完成,畫布就會"直接"關閉,若想要確認程式結果和繪圖內容是否正確時!該怎麼辦?此語法可控制畫布為持續開啟狀態,直到手動關閉畫布程式才會結束。
程式語法:screen.mainloop()

注意事項:
1.語法中的物件名稱screen,必須和2.2中指定物件名稱相同。
例如 window = turtle.Screen(),指令就須使用 window.mainloop()
2.必須寫在所有turtle繪圖操作指令的最下方。

開始來體驗第一次用指令繪圖

範例1:Turtle繪圖設計移動100個像素。下列為程式碼及程式執行結果。

import turtle
screen = turtle.Screen()
turtle.forward(100)
turtle.mainloop()
				
Turtle繪圖教學範例1
Turtle繪圖教學範例1

...

Turtle繪圖基礎控制

本章節將介紹如何設定turtle繪圖畫布大小?如何改變畫筆顏色等應用。

3.1 如何設定畫布大小:
畫布大小代表可以繪圖區域範圍大小,橫向代表寬度,縱向代表高。此語法可指定畫布寬800像素和高600像素。
程式語法:screen.setup(800,600)

注意事項:
語法中物件名稱screen,必須和2.2中指定名稱相同。

3.2 如何指定turtle位置:
turtle(指標)的初始位置是在畫布的中心點0.0,第一個0代表橫向座標(X軸)位置,第二個0代表縱向座標(Y軸)位置。此語法可指定turtle座標位置。
程式語法:turtle.setposition(0.0)

3.3 如何控制turtle朝向角度:
預設為標準模式,當角度設定為0 代表turtle(指標)朝西方向、90 朝北、180朝東、270朝南。此語法可改變turtle朝向角度。
程式語法:turtle.setheading(90)

3.4 如何改變turtle顏色應用:
預設畫筆顏色為"黑色"。此語法可改變畫筆顏色。
程式語法:turtle.color('red')

3.5 如何控制turtle停筆或下筆:
預設為下筆狀態,當turtle(指標)移動時就會開始畫線;停筆狀態就能移動但不畫線。此語法可調整畫筆狀態。
程式語法:停筆狀態 turtle.penup()、下筆狀態turtle.down()

小提醒:
重覆運用停筆和下筆就能自由控制畫筆。

換你動動腦、動動手來開始Coding(寫程式)

範例2:Turtle繪圖設計畫布為800x600,開始向西畫一條藍色線150像素,再向南移動50像素不用畫線,向東畫一條粉紅色線150像素。程式執行結果如下圖。

Turtle繪圖教學範例2
Turtle繪圖教學範例2

建議自己先練習,動動手是進步的第一步,動動腦後再参考範例2程式碼。設計方法:
1.架構turtle環境,参考上方2.1~2.4步驟
2.控制turtle動作,参考上方3.1~3.5步驟

範例2程式碼:

import turtle
screen = turtle.Screen()
screen.setup(800,600)
turtle.setposition(0,0)
turtle.color('blue')
turtle.forward(150)
turtle.penup()
turtle.setheading(270)
turtle.forward(50)
turtle.setheading(180)
turtle.color('pink')
turtle.pendown()
turtle.forward(150)
screen.mainloop()
			

...

文章出處為海獅程式python程式設計教材turtle模組篇,閱讀完此篇文章希望能讓初學者用最簡易方式來學習Turtle繪圖基礎觀念,當你想要更靈活變化應用,就需要學習更多Turtle函式功能(例如:蓋章功能、座標控制等),就會出現需求!產生學習動機!知道為何要學!發展成主動學習。

Turtle繪圖模組值得探索學習,過程中能吸收新的程式語法、培養邏輯思考、更能開發藝術思維和實現天馬行空想像力。學習任何程式語言都需要時間,一步步從「觀念、基礎 、應用 、變化」開始,每個環節都必須動動腦、動動手。祝你的海龜能順利完成各種精彩繪圖。

大家都能愛編程、愛思考、愛創造