递归——劳动节快到了,用Python绘制三棵小树

代码实现:

import turtle
def tree(plist,l,a,f):#plist为一个列表,分支数,角度,分支数的参数
    if l > 5:
        lst = []
        for p in plist:
            p.forward(l)
            q = p.clone()
            p.left(a)
            q.right(a)
            lst.append(p)
            lst.append(q)
        tree(lst, l*f, a, f)
def  maketree(x,y,string1):
    #实例化turtle对象
    p= turtle.Turtle()
    p.pensize(5)
    p.color(string1)
    #隐藏画笔
    p.hideturtle()
   # p.getscreen().tracer("false")
    p.getscreen().tracer(1, 0)# 获得屏幕句柄,可以对其进行操作 # 每1次操作将屏幕刷新,延时为0
    p.left(90)
    p.penup()
    p.goto(x, y)
    p.pendown()
    t= tree([p],100,65,0.6375)
   # p.getscreen().tracer("true")
#画布的大小
turtle.setup(1000,1000,0,0)
maketree(-300, -20, 'blue')
maketree(0, -20, 'green')
maketree(300, -20, 'red')
#画布的暂停
turtle.done()

猜你喜欢

转载自blog.csdn.net/weixin_42143003/article/details/88750307