python萌新必看的海龜畫圖講解

目錄

1。 初探海龜繪圖

1。1 瞭解海龜繪圖的座標系1。2 海龜繪圖的三要素1。3 繪製第一隻海龜

最近博主在 CSDN 上看到許多關於海龜畫圖的案例,如畫聖誕樹、五角星等,但是都是直接給出了原始碼以及一些簡單的註釋,沒有對其詳細的說明,會讓很多初學者迷糊很久,故這裡博主詳細地對 turtle 模組中的方法進行詳解,讓廣大博友能夠做到自由畫圖。

海龜繪圖是 Python 內建的一個比較有趣的模組,模組名稱為 turtle。它最初源於 20世紀60年代 的 Logo 語言,之後成為了 Python 的內建模組。海龜繪圖提供了一些簡單的繪圖方法,可以根據編寫的控制指令(程式碼),讓一個 “海龜” 在螢幕上來回移動,而且可以在它爬行的路徑上繪製圖形。透過海龜繪圖,不僅可以在螢幕上繪製圖形,還可以看到整個繪製過程。另外,海龜繪圖對初學者十分友好,它能夠輕鬆地編寫出很多有趣的例項。

1。 初探海龜繪圖

海龜繪圖是 Python 內建的模組,在使用前需要匯入該模組,可以使用以下幾種方法匯入:

import turtle # 透過模組名來使用其中的方法、屬性import turtle as t # 透過別名t來使用其中的方法、屬性from turtle import * # 可以直接使用其中的方法、屬性123

1。1 瞭解海龜繪圖的座標系

在學習海龜繪圖之前,需要先了解海龜繪圖的座標系。海龜繪圖採用的是平面座標系,即畫布(視窗)的中心為原點(0,0),橫向為 x 軸,縱向為 y 軸,x 軸控制水平位置,y 軸控制垂直位置。例如,一個 400×320 的畫布,對應的座標系如下圖所示。

python萌新必看的海龜畫圖講解

在上圖中,綠色虛線框為畫布大小。海龜活動的空間為綠色虛線框以內。即 x 軸的移動區間為 -200~200,y 軸的移動區間為 -160~160。同數學中一樣,表示海龜所在位置(即某一點)的座標為 (x, y)。

1。2 海龜繪圖的三要素

採用海龜繪圖有三個關鍵要素,即方向、位置和畫筆。在進行海龜繪圖時,主要就是控制這些要素來繪出我們想要的圖形。下面分別進行介紹。

方向

在進行海龜繪圖時,方向主要用於控制海龜的移動方向。主要有以下 3 個方法進行設定

left()/lt() 方法:讓海龜左轉 (逆時針) 指定度數。

right()/rt() 方法:讓海龜右轉 (順時針) 指定度數。

setheading()/seth() 方法:設定海龜的朝向為0(東)、90(北)、180(西)或 270(南)。

位置

在進行海龜繪圖時,位置主要用於控制海龜移動的距離。主要有以下 6 個方法進行設定:

forward(distance):讓海龜向前移動指定距離,引數 distance 為有效數值。

backward(distance):讓海龜向後退指定距離,引數 distance 為有效數值。

goto(x,y):讓海龜移動到畫布中的特定位置。即座標 (x,y) 所指定的位置。

setx(x):設定海龜的橫座標到

x

,縱座標不變。

sety(y):設定海龜的縱座標到

y

,橫座標不變。

home():海龜移至初始座標(0,0),並設定朝向為初始方向。

畫筆

海龜繪圖中的畫筆就相當於現實生活中繪圖所用的畫筆。在海龜繪圖中,透過畫筆可以控制線條的粗細、顏色和運動的速度。關於畫筆的詳細介紹請看後續。

1。3 繪製第一隻海龜

# -*- coding: UTF-8 -*-“”“@author:AmoXiang@file:2。繪製一隻向前爬行的海龜。py@time:2020/12/29”“”import turtle # 匯入海龜繪圖模組t_ufo = turtle。Turtle() # 建立一隻小海龜,命名為t_ufo 等價==>turtle。Pen()t_ufo。forward(200) # 向前爬行200畫素# 海龜繪圖預設情況下,游標為箭頭,可以透過海龜的shape()方法進行修改# 將游標修改為海龜形狀t_ufo。shape(“turtle”) # 設定為海龜形狀turtle。done() # 海龜繪圖程式的結束語句(開始主迴圈) 等價==> turtle。mainloop()“”“注意:如果在螢幕上只需要有一隻小海龜,那麼也可以不建立海龜物件,直接使用turtle作為海龜物件即可。”“”123456789101112131415161718

程式執行結果如下:

python萌新必看的海龜畫圖講解

多說一句,很多人學Python過程中會遇到各種煩惱問題,沒有人解答容易放棄。小編是一名python開發工程師,這裡有我自己整理了一套最新的python系統學習教程,包括從基礎的python指令碼到web開發、爬蟲、資料分析、資料視覺化、機器學習等。想要這些資料的可以關注小編,並在後臺私信小編:“01”即可領取。