# some (I hope) useful examples of recursion
# Modified to run under Python 3
import turtle
import copy
COLORS = ('red', 'green', 'blue')

def tree_burst(level, base, turtle):
    """Draw a symmetrical ternary tree of height level with initial edges
    of length base.
    """
    if not level: # Pythonese for level == 0
        pass
    else:
        turtle_list = []
        for h in range(3):
            turtle_list.append(turtle.clone())
            turtle_list[h].color(COLORS[h])
            turtle_list[h].setheading(120 * h)
            turtle_list[h].forward(base)
            tree_burst(level - 1, base / 2, turtle_list[h])

if __name__ == '__main__':
    T = turtle.Turtle()
    T.color('red')
    T.speed('slow')
#    T.hideturtle()
    tree_burst(2, 128, T)
