You can use recursion to draw your shapes. Recursion is when a function calls itself with a stopping condition.
A famous example of recursion is the "droste effect", but unlike recursion in programming there is no stopping condition. It keeps going on forever.
Ok, so say a tree. A tree has branches, each branch has branches. Those branch have branches and so on.
A recursive function can draw itself, its branches, their branches. It's clear you need to use recursion to draw a tree with all its branches.
The code below is an example of that:
#!/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()
The turtle was hidden with
without that line, the tree looks nicer: