App下載

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

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

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

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(): #畫獅子的臉部細(xì)節(jié)(把臉部細(xì)節(jié)當(dāng)成一個(gè)多邊形畫)
    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()

心得體會(huì):

    海龜繪圖法之所以稱為海龜繪圖法,就是因?yàn)樗墓P像一個(gè)海龜一樣,通過(guò)爬行畫出內(nèi)容,只要把自己想象為那只海龜,就知道什么時(shí)候左轉(zhuǎn),什么時(shí)候右轉(zhuǎn),需要轉(zhuǎn)動(dòng)多少度,需要走多少步了。

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

    有些重復(fù)的動(dòng)作,可以考慮封裝成函數(shù)來(lái)減少代碼量,當(dāng)畫的圖案比較復(fù)雜的時(shí)候,不封裝的代碼量會(huì)很恐怖。

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

1 人點(diǎn)贊