首頁  >  文章  >  後端開發  >  使用Python中的高階turtle(海龜)作圖方法

使用Python中的高階turtle(海龜)作圖方法

高洛峰
高洛峰原創
2017-03-15 15:12:027462瀏覽

Python裡,海龜不僅可以畫簡單的黑線,還可以用它畫更複雜的幾何圖形,用不同的顏色,甚至還可以為形狀填色。

一、從基本的正方形開始

引入turtle模組並建立Pen物件##:

>>> import turtle
>>> t = turtle.Pen()

 前面我們用來建立正方形的程式碼如下:

>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t,forward(50)

 此段程式碼太長,我們可以用

for循環進行最佳化:

>>> t.reset()>>> for x in range(1,5):
    t.forward(50)
    t.left(90)

 

效果如下:

使用Python中的高階turtle(海龜)作圖方法

##二、畫星星

我們只要把for迴圈做一些改變即可,程式碼如下:

##

>>> t.reset()
>>> for x in range(1,9):    ##循环八次
    t.forward(100)      ##前进100像素
    t.left(225)         ##向左旋转225度

#效果如下:

 然而我們還可以進一步改進,例如每次旋轉175度,循環37次,程式碼如下:使用Python中的高階turtle(海龜)作圖方法

>>> t.reset()
>>> for x in range(1,38):
    t.forward(100)
    t.left(175)

 

#效果如下:

# 我們也可以畫出螺旋星,程式碼如下:使用Python中的高階turtle(海龜)作圖方法

>>> t.reset()
>>> for x in range(1,20):
    t.forward(100)
    t.left(95)

 

效果如下:

 現在讓我們用使用Python中的高階turtle(海龜)作圖方法if

語句控制海龜的轉向來繪製不同的星星。讓海龜先轉一個角度,然後下次轉一個不同的角度。

在這裡,我們先建立一個運行18次的循環(range(1,19)),然後讓海龜向前移動100個像素(t.forward(100))。接下來是if語句(ifx%2 == 0),它的意思是:x除以2的餘數是否等於0.如果x中的數字是偶數,我們讓海龜左轉175度(t.left(175 )),否則(else

)我們讓它左轉225度。程式碼如下:

>>> t.reset()
>>> for x in range(1,19):
    t.forward(100)    if x % 2 == 0:
        t.left(175)    else:
        t.left(225)

 效果如下:

## 

使用Python中的高階turtle(海龜)作圖方法三,畫汽車

試著畫一輛小汽車,為自己樹立一個小目標,說不定哪一天就達成了。

(這段程式碼

新增

了color,begin_fill,end_fill,circle,set

head

ing函數

>>> import turtle
>>> t = turtle.Pen()
>>> t.color(1,0,0)
>>> t.begin_fill()
>>> t.forward(100)
>>> t.left(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.forward(20)
>>> t.right(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.forward(60)
>>> t.left(90)
>>> t.forward(20)
>>> t.right(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.forward(20)
>>> t.end_fill()
車身

>>> t.color(0,0,0)
>>> t.up()
>>> t.forward(10)
>>> t.down()
>>> t.begin_fill()
>>> t.circle(10)
>>> t.end_fill()

左輪

>>> t.setheading(0)
>>> t.up()
>>> t.forward(90)
>>> t.right(90)
>>> t.forward(10)
>>> t.setheading(0)
>>> t.begin_fill()
>>> t.down()
>>> t.circle(10)
>>> t.end_fill()

右车轮

右輪

 #整合後效果如下:

下面來集中介紹下新增的幾個函數:

使用Python中的高階turtle(海龜)作圖方法1,

color

是用來改變畫筆顏色的。

2,begin_fill

end_fill

是用來為畫布上的一個區域填色的。 3,circle 是用來畫一個指定大小的圓。

4, setheading 讓海龜面對指定的方向。

 總結:

這次比上次更深入的運用了Python的turtle模組來畫幾個基本的幾何圖形,還有for迴圈和if語句來控制海龜在螢幕上的動作。同時改變了海龜的筆的顏色並為它所畫的形狀填色。接下來將開始學習填色。

以上是使用Python中的高階turtle(海龜)作圖方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn