古人有诗云“园中有妙树,绿叶正开”。树的美是优雅的、郁郁葱葱的、生机勃勃的或绿色的。python-turtle写的树别有一番风味。01小花园里新种的红樱花树,悠闲的绕着花儿穿梭#coding=gbkimportturtleasTimportrandomimporttime#画出樱花的躯干(60,t)defTree(branch,t):time.sleep(0.0005)ifbranch>3:If8<=Branch<=12:IfRandom.randint(0,2)==0:T.Color('SNOW')#>>>:T.Color('Lightcoral')#.pensize(Branch/3)ElifBranch<8:IfRandom.randint(0,1)==0:T.COLOR('Snow')Else:T.Color('Lightcular')#(branch/2)else:t.color('sienna')#ochre(zhě)colort.pensize(branch/10)#6t.forward(branch)a=1.5*random(rom).rand20*a)b=1.5*random.random()Tree(branch-10*b,t)t.left(40*a)Tree(branch-10*b,t)tt.right(20*.up()t.backward(branch)t.down()#飘落的花瓣defPetal(m,t):foriinrange(m):a=200-400*random.random()b=10-20*random.random()t.up()t.forward(b)t.left(90)a)t.forward(t.down()t.color('lightcoral')#浅珊瑚色t.circle(1)t.up()t.backward(a)t.right(90)t.backward(b)#绘制区域t=T.Turtle()#canvassizew=T.Screen()#hidebrusht.hideturtle()t.getscreen().tracer(5,0)#wheat小麦w.screensize(bg='white')t.left(90)t.up()t.backward(150)t.down()t.color('sienna')#画樱花的树干Tree(60,t)#飘落的花瓣Petal(200,t)w.exitonclick()02江南有橘子,冬天依旧翠绿#coding=gbkfromturtleimport*fromrandomimport*frommathimport*classTree:def__init__(self):setup(1000,500)bgcolor(1,1,1)#背景颜色#ht()#隐藏海龟speed(10)#速度1-10渐进,0最快#tracer(1,100)#设置绘图屏幕刷新频率,参数1设置为正常刷新频率参数1刷新,参数2设置延迟eachrefreshtracer(0,0)pu()#提笔向后(100)#保证笔划箭头的方向始终不向下,这里是向左转90度,而不是向右转左(90)#向左转90度向后(300)#向后300deftree(self,n,l):pd()#记下#阴影效果t=cos(radians(heading()+45))/8t+0.25,encolor(t,t)pensize(n/1.2)forward(l)#如果n>0则绘制分支:b=random()*15+10#右分支偏转角leftbranchc=random()#0*1d=l*(random()*0.25+0.7)#下一个分支的长度#右转一定角度,画右分支right(b)self.tree(n-1,d)#左转a一定角度,画左边Branch(B+C)Self.tree(n-1,D)#转回右(C)Else:#分右(90)n=cos(Headians()-45))/4+0.5Pencolor(n,n*0.8,n*0.8)fillcolor(n,n*0.8,n*0.8)begin_fill()clearCle(3)left(90)end_fill()#添加0.3倍的落叶IFRandom()>>>>0.7:pu()#下降t=heading())setheading(t)#画叶子pd()右(90)n=cos(readians(heading()-45))/4+0.5pencolor(n*0.5+0.5+0.5,0.4+n*0.4+n*0.4,0.4,0.4+n*0.4)fillcolor(n,n*0.8,n*0.8)begin_fill()圆圈(2)左(90)end_fill()#passpu()向后(l)#返回defmain():tree=Tree()tree.tree(12,100)#归7层done()if__name__='__main__':main()03落红不是无情物质,化作春泥更护花#coding=gbkfromturtleimport*fromrandomimport*#绘画树方法defdrawTree(n,l):pendown()pencolor('#5d3c3c')pensize(n/1.5)forward(l)ifn>0:dr=randint(30,40)=dl(30,40)移动=l*(随机()*0.4+0.5)右(dr)drawTree(n-1,移动)左(dr+dl)drawTree(n-drawTree(n-1,移动)drawTree(n-1,移动)dl:drawPetal(3)penup()backward(l)#花瓣位置生成defpetalPlace(m,x,y):penup()goto(x,y)pendown()setheading(0)tracer(False)foriinrange(m):如果i==0:drawpetal(5)else:penup()(b)右(90)pendown()drawPetal(5)#花瓣绘画方法defdrawPetal(n):colormode(255)r=randint(200,255)drawPetal(5)#花瓣绘画方法defdrawPetal(n):colormode(255)r=randint(200,255)g=8,randint(5)g=8,b(5)158)begin_fill()填充颜色(r,g,b)铅笔or(r,g,b)circle(n)end_fill()#启动方法defrun():setup(1.0,1.0)penup()goto(-50,-150)left(90)pendown()hideturtle()tracer(False)drawTree(13,150)petalPlace(160,-100,-150)run()done()04川原秋色静,葫芦晚风鸣importturtleimportrandomstack=[]defcreateWord(max_it,word,proc_rules,x,y,turn):turtle.up()turtle.home()turtle.goto(x,y)turtle.right(turn)turtle.down()t=0而t
