from turtle import*from random import*from math import*deftree(n, l):pd ()# 下笔# 阴影效果t = cos ( radians ( heading ()+45))/8+0.25pencolor ( 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.5ran = random ()# 这里相比于原来随机添加了填充的圆圈,让樱花叶子看起来更多一点if(ran >0.7):begin_fill ()circle (3)fillcolor ('pink')# 把原来随机生成的叶子换成了统一的粉色pencolor ("pink")circle (3)if(ran >0.7):end_fill ()left (90)# 添加0.3倍的飘落叶子if(random ()>0.7):pu ()# 飘落t = heading ()an =-40+ random ()*40setheading ( 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.5pencolor ( 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.956,0.9255,0.9882)# 设置背景色(把灰色换成淡紫色)
ht ()# 隐藏turtle
speed (0)# 速度 1-10渐进,0 最快
tracer (0,0)
pu ()# 抬笔
backward (50)
left (90)# 左转90度
pu ()# 抬笔
backward (300)# 后退300
tree (12,100)# 递归7层
done ()