源码见:https://want595.blog.csdn.net/
1.樱花类
既然是樱花树,那肯定要画樱花啦,在这里我选择了五片花瓣的樱花
def flower():
tu.hideturtle()
tu.pensize(2)
tu.pencolor("pink")
flowersize = ra.randint(1,5)
for j in range(5):
tu.forward(int(flowersize))
tu.backward(int(flowersize))
tu.right(72)
2.樱花树
樱花画好后,我们就可以递归画树啦
def tree(n,k):
tu.pendown()
tu.pencolor("black")
tu.pensize(n/4)
tu.forward(k)
if n>0:
r=ra.random()*10+10
l=ra.random()*10+10
x=k*(ra.random()*0.25+0.7)
tu.right(r)
tree(n-1,x)
tu.left(l+r)
tree(n-1, x)
tu.right(l)
else:
tu.right(90)
flower()
tu.left(90)
tu.pu()
t=tu.heading()
s=-ra.random()
tu.setheading(s)
x=ra.randint(1,5)
tu.forward(x)
tu.setheading(t)
tu.pd()
tu.right(90)
flower()
tu.left(90)
tu.pu()
t=tu.heading()
tu.setheading(s)
tu.backward(x)
tu.setheading(t)
tu.penup()
tu.backward(k)
3.主函数
最后,我们需要一个主函数来实现樱花树
tu.setup(800,480)
tu.bgcolor("lavenderblush")
tu.hideturtle()
tu.tracer(0)
tu.penup()
tu.goto(0,-150)
tu.pendown()
tu.left(90)
tree(12,50)
for i in range(99):
tu.penup()
tu.goto(ra.randint(-150,150),ra.randint(-150,0))
tu.pendown()
flower()