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...