python畫 如何用Python畫一棵漂亮的樹

2021-10-10 03:55:52 字數 1695 閱讀 4915

tree

海龜繪圖turtle

在2023年,seymour *****t和wally feurzig發明了一種專門給兒童學習程式設計的語言——logo語言,它的特色就是通過程式設計指揮乙個小海龜(turtle)在螢幕上繪圖。

海龜繪圖(turtle graphics)後來被移植到各種高階語言中,python內建了turtle庫,基本上100%複製了原始的turtle graphics的所有功能。

python指令碼:

from turtle import *

from random import *

from math import *

def tree(n,l):

pd()#下筆

#陰影效果

t = cos(radians(heading()+45))/8+0.25

pencolor(t,t,t)

pensize(n/3)

forward(l)#畫樹枝

if n>0:

b = random()*15+10 #右分支偏轉角度

c = random()*15+10 #左分支偏轉角度

d = l*(random()*0.25+0.7) #下乙個分支的長度

#右轉一定角度,畫右分支

right(b)

tree(n-1,d)

#左轉一定角度,畫左分支

left(b+c)

tree(n-1,d)

#轉回來

right(c)

else:

#畫葉子

right(90)

n=cos(radians(heading()-45))/4+0.5

pencolor(n,n*0.8,n*0.8)

circle(3)

left(90)

#新增0.3倍的飄落葉子

if(random()>0.7):

pu()

#飄落t = heading()

an = -40 +random()*40

setheading(an)

dis = int(800*random()*0.5 + 400*random()*0.3 + 200*random()*0.2)

forward(dis)

setheading(t)

#畫葉子

pd()

right(90)

n = cos(radians(heading()-45))/4+0.5

pencolor(n*0.5+0.5,0.4+n*0.4,0.4+n*0.4)

circle(2)

left(90)

pu()

#返回t=heading()

setheading(an)

backward(dis)

setheading(t)

pu()

backward(l)#退回

bgcolor(0.5,0.5,0.5)#背景色

ht()#隱藏turtle

speed(0)#速度 1-10漸進,0 最快

tracer(0,0)

pu()#抬筆

backward(100)

left(90)#左轉90度

pu()#抬筆

backward(300)#後退300

tree(12,100)#遞迴7層

done()

執行效果

python畫小樹 如何用Python畫一顆小樹?

1.的結構 本 有兩個子函式組成,有main函式和畫樹函式組成。2.編寫畫樹函式 畫樹函式,就是用來畫出我們的樹的一種子函式,如下 def tree plist,l,a,f if l 5 lst for p in plist p.forward l q p.clone p.left a q.righ...

python求素數的函式 如何用python求素數

如何用python求100以內的素數?質數 primenumber 又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數的數稱為質數,如 2 3 5 7 11 13 17 19。方法一,用for迴圈來實現num i 2for i in range 2,100 j 2fo...

python可以寫介面嗎 如何用python寫介面

如何用python寫介面?具體步驟如下 1 例項化server 2 裝飾器下面的函式變為乙個介面 3 啟動服務 開發工具和流程 python庫 flask 例項化server server flask.flask name server.route index methods post def in...