1. 程式人生 > 實用技巧 >python學習筆記:Turtle庫的相關學習

python學習筆記:Turtle庫的相關學習

turtle庫是python的基礎繪相簿

使用turtle的setup函式,可以在螢幕中生成一個視窗(窗體),設定窗體的大小和位置,這個視窗就是畫布的範圍。

turtle.setup(width,height,startx,starty)

例如生成一個100*100的畫布

import turtle
turtle.setup(100,100)

可以使用turtle.goto(x,y)方法來讓物件沿著絕對座標進行運動:

turtle.goto(100,100)

櫻花樹例子:

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()