def make_triangle(triangle_height, offset = 0, tree_cutoff = 0, triangle_background = ' ', triangle_fill = '*'):
    """
        triangle_height: how many rows the triangle will have.
        offset: how many spaces (or background fill) the triangle will have.
        triangle_cutoff: how many rows to delete from the top of the triangle. Useful when making a tree. 
        triangle_background: what character to fill the background with
        triangle_fill: what character to fill the tree with.
    """
    triangle_width = triangle_height * 2 - 1
    filler_padding = lambda i: (triangle_background * ((triangle_width - i)/2)) + triangle_background * offset

    triangle = [filler_padding(i) +  (triangle_fill * i) for i in range(1, triangle_width, 2)]
    triangle = [x for x in triangle if x.strip()]

    triangle = triangle[tree_cutoff:]
    return triangle