Рубрики
Без рубрики

Рекурсия, нарисуйте дерево с Python Turtle

Python, черепаха. Теги с Python, черепахи.

Вы можете использовать рекурсию, чтобы нарисовать свои формы. Рекурсия состоит в том случае, когда функция вызывает себя с условием остановки.

Известный пример рекурсии – «эффект ДРОСТЕ», но в отличие от рекурсии в программировании нет условия остановки. Он продолжает продолжаться навсегда.

Хорошо, так сказать дерево. Дерево имеет ветви, каждая ветвь имеет ветки. Эти ветвь у ветвей и так далее.

Рекурсивная функция может нарисовать себе свои ветви, их ветви. Ясно, что вам нужно использовать рекурсию, чтобы нарисовать дерево со всеми его ветвями.

Ниже приведен код примером:

#!/usr/bin/python3
from turtle import Turtle, mainloop

def tree(plist, l, a, f):
    """ plist is list of pens
    l is length of branch
    a is half of the angle between 2 branches
    f is factor by which branch is shortened
    from level to level."""
    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 main():
    p = Turtle()
    p.color("green")
    p.pensize(5)

    p.hideturtle() 
    p.speed(100)
    p.left(90)
    p.penup()
    p.goto(0,-200)
    p.pendown()

    t = tree([p], 200, 65, 0.6)

main()

Черепаха была спрятана с

p.hideturtle() 

Без этой линии дерево выглядит лучше:

Ссылки по теме:

Оригинал: “https://dev.to/petercour/recursion-draw-a-tree-with-python-turtle-7f”