樱花树原理:利用递归策略和random函数
import random
import turtle
def draw_tree(branch,t):
if branch>2:
if branch>=8 and branch<=10:
t.color('red')
t.pensize(branch/2)
elif branch<8:
t.color("pink")
t.pensize(branch)
elif branch>10 and branch<=20:
t.color("#8a7081")
t.pensize(branch/5)
else:
t.color('sienna')
t.pensize(branch/10)
t.forward(branch)#先画主干
a = 1.6*random.random()
b = 1.6 * random.random()
t.left(20*a)#再画左支
draw_tree(branch-10*b,t)#画左支
t.right(40*a)
draw_tree(branch-10*b,t)#右枝
t.left(20*a)
t.up()
t.backward(branch)
t.down()
else:
return
w = turtle.Screen()
t = turtle.Turtle()
t.up()
t.left(90)
t.backward(200)
t.down()
t.speed(0)
t.hideturtle()
draw_tree(60,t)
print("draw_finish")
w.exitonclick()