import turtle

COLORS = ('red', 'green', 'blue')

def tree_burst(level, base, turtle):
    """
    Draw a ternary tree of height level, edge length base, using turtle.
    """
    if not level: # Pythonese for level == 0
        pass
    else:
        turtle_list = [] # place to keep 3 turtles
        for h in range(3):
            turtle_list.append(turtle.clone()) # store new turtle
            turtle_list[h].color(COLORS[h]) # set colour,
            turtle_list[h].setheading(120 * h) #  then heading
            turtle_list[h].forward(base) # draw a bit
            tree_burst(level - 1, base / 2, turtle_list[h]) # 1/2 size version

if __name__ == '__main__':
    T = turtle.Turtle()
    T.color('red')
    T.speed('slow')
#    T.hideturtle() # this hides just the tail...
    tree_burst(1, 128, T)
