App下載

怎么使用python的turtle畫編程獅logo?

steven 2021-10-26 17:32:56 瀏覽數(shù) (4047)
反饋

在python中有一個很有趣的庫,叫做turtle,翻譯成中文就是海龜。這個庫可以用來畫一些有趣的圖案。今天小編就帶來了一個使用海龜繪圖法繪制編程獅logo的代碼,并在代碼后介紹一些簡單的使用心得,感興趣的小伙伴趕緊copy代碼跑起來吧!

import turtle as t

def hexagon(): #畫獅子的六邊形的臉,并上色
    t.begin_fill()
    t.right(60)
    t.forward(210)
    t.right(60)
    t.forward(210)
    t.right(60)
    t.forward(210)
    t.right(60)
    t.forward(210)  
    t.right(60)
    t.forward(210)
    t.right(60)
    t.forward(210)
    t.end_fill()


def face(): #畫獅子的臉部細節(jié)(把臉部細節(jié)當成一個多邊形畫)
    t.pensize(2)
    t.color("black","black")
    t.begin_fill()
    t.right(60)
    t.forward(103)
    t.right(120)
    t.forward(105)
    t.left(90)
    t.forward(180)
    t.right(90)
    t.forward(100)
    t.right(90)
    t.forward(180)
    t.left(90)
    t.forward(105)
    t.left(150)
    t.forward(105)
    t.right(60)
    t.forward(140)
    t.left(60)
    t.forward(50)
    t.right(60)
    t.forward(55)
    t.left(90)
    t.forward(45)
    t.left(90)
    t.forward(55)
    t.right(60)
    t.forward(50)
    t.left(60)
    t.forward(140)
    t.right(60)
    t.forward(105)
    t.end_fill()
    

def zongmao(): #畫獅子的鬃毛
    t.begin_fill()
    t.forward(210)
    t.left(90)
    t.circle(210,120)
    t.left(30)
    t.forward(210)
    t.left(120)
    t.forward(210)
    t.end_fill()
    t.backward(210)
    t.left(60)


t.penup()
t.goto(60,180)
t.pendown()
t.color("black","#f9e052")
t.pensize(10)
hexagon()
face()
t.penup()
t.goto(60,180)
t.pendown()
t.right(30)
t.color("black","#fe6a00")
t.pensize(10)
for i in range(6):
    zongmao()

心得體會:

    海龜繪圖法之所以稱為海龜繪圖法,就是因為它的筆像一個海龜一樣,通過爬行畫出內容,只要把自己想象為那只海龜,就知道什么時候左轉,什么時候右轉,需要轉動多少度,需要走多少步了。

    隨時注意筆的狀態(tài)(放下還是提起),這決定了你在移動海龜?shù)臅r候會不會在畫布上留下痕跡。

    有些重復的動作,可以考慮封裝成函數(shù)來減少代碼量,當畫的圖案比較復雜的時候,不封裝的代碼量會很恐怖。

    對于初學者而言,很多函數(shù)的作用不清楚,可以對照教程進行使用。

1 人點贊