How does recursion it works (python) : I'm relentlessly but fruitlessly trying to comprehend how does this magic recursion work. I have an example from one tutorial ('Problem solving with algorithms and data structures'). So. Why after the recursion's happend (as I gueesed) it again make 5 "additional" steps (why five I understand), but why the value of the variable is rising upward? 
    
    (in)
    import turtle

    def tree(branchLen,t):       #The problem of understanding 
      if branchLen > 1:          #    is only this function
        t.forward(branchLen)
        t.right(20)
        print(branchLen, '#it is pretty understandable')
        tree(branchLen-15,t)
        print(branchLen, '#stop! Why rising (get backward)?')  # and this 
    #particular part
        # t.left(40)
        # print('t.left, ', branchLen)
        # tree(branchLen-15,t)
        # t.right(20)
        # print('t.right, ', branchLen)
        # t.backward(branchLen)                                                                 

    def main():
      t = turtle.Turtle()
      myWin = turtle.Screen()
      t.left(90)
      t.up()
      t.backward(100)
      t.down()
      # t.width(3)
      t.color("green")
    tree(75,t)
    myWin.exitonclick()
 
    (out)
    75 #it is pretty understandable
    60 #it is pretty understandable
    45 #it is pretty understandable
    30 #it is pretty understandable
    15 #it is pretty understandable
    15 #stop! Why rising (get backward)?
    30 #stop! Why rising (get backward)?
    45 #stop! Why rising (get backward)?
    60 #stop! Why rising (get backward)?
    75 #stop! Why rising (get backward)?