title: Why does the N value increase to 2 and 3 in the printed output when the recursions of draw use n-1?
body: <p>I can't understand why the n value always becomes 1 after the if statement returns. Furthermore, I don't understand how the n value can increase if both recursions are using n-1. Can someone explain how these events happen? Comments are added in the output for further explanation of the question.</p>
  <pre><code>import turtle
  
  bob = turtle.Turtle()
  bob.speed(1)
  
  def draw(t, length, n):
      if n == 0:
          print(&quot;Return&quot;)
          return
      else:
          print('N in if statement =', n)
      angle = 50
      print(&quot;Pre forward, n =&quot;, n)
      t.fd(length * n)
      print(&quot;Pre left turn, n =&quot;, n)
      t.lt(angle)
      print(&quot;Pre draw 1, n =&quot;, n)
      draw(t, length, n-1)
      print(&quot;Pre right turn, n =&quot;, n)
      t.rt(angle*2)
      print(&quot;Pre draw 2, n =&quot;, n)
      draw(t, length, n-1)
      print(&quot;Pre left turn 2, n =&quot;, n)
      t.lt(angle)
      print(&quot;Pre backwards, n =&quot;, n)
      t.bk(length*n)
      print(&quot;Post backwards, n =&quot;, n)
  
  draw(bob, 15, 3)
  
  
  
  
  turtle.mainloop()
  
  </code></pre>
  <p>Output:</p>
  <pre><code>
  N in if statement = 3
  Pre forward, n = 3
  Pre left turn, n = 3
  Pre draw 1, n = 3
  N in if statement = 2
  Pre forward, n = 2
  Pre left turn, n = 2
  Pre draw 1, n = 2
  N in if statement = 1
  Pre forward, n = 1
  Pre left turn, n = 1
  Pre draw 1, n = 1
  Return
  Pre right turn, n = 1 # how does n become 1 here after 0 was returned?
  Pre draw 2, n = 1
  Return
  Pre left turn 2, n = 1
  Pre backwards, n = 1
  Post backwards, n = 1
  Pre right turn, n = 2
  Pre draw 2, n = 2
  N in if statement = 1
  Pre forward, n = 1
  Pre left turn, n = 1
  Pre draw 1, n = 1
  Return
  Pre right turn, n = 1
  Pre draw 2, n = 1
  Return
  Pre left turn 2, n = 1
  Pre backwards, n = 1
  Post backwards, n = 1
  Pre left turn 2, n = 2
  Pre backwards, n = 2
  Post backwards, n = 2
  Pre right turn, n = 3
  Pre draw 2, n = 3 # how is it possible for n to increase from 1 to 3 when both recursions subtract 1 from n?
  N in if statement = 2
  Pre forward, n = 2
  Pre left turn, n = 2
  Pre draw 1, n = 2
  N in if statement = 1
  Pre forward, n = 1
  Pre left turn, n = 1
  Pre draw 1, n = 1
  Return
  Pre right turn, n = 1
  Pre draw 2, n = 1
  Return
  Pre left turn 2, n = 1
  Pre backwards, n = 1
  Post backwards, n = 1
  Pre right turn, n = 2
  Pre draw 2, n = 2
  N in if statement = 1
  Pre forward, n = 1
  Pre left turn, n = 1
  Pre draw 1, n = 1
  Return
  Pre right turn, n = 1
  Pre draw 2, n = 1
  Return
  Pre left turn 2, n = 1
  Pre backwards, n = 1
  Post backwards, n = 1
  Pre left turn 2, n = 2
  Pre backwards, n = 2
  Post backwards, n = 2
  Pre left turn 2, n = 3
  Pre backwards, n = 3
  Post backwards, n = 3 # how is it possible for n to increase from 1 to 3 when both recursions subtract 1 from n?
  </code></pre>