title: PYTHON: Trouble Understanding this Fibonacci Code
body: <p>I understand how Fibonacci works, its just this code is driving me crazy. I might be going through it wrong </p>
  
  <pre><code>def fib1(n):
    if n == 1 or n == 2:
      return 1 
    return fib1(n-1) + fib1(n-2)
  
  
  for i in range(1,10):
    print(fib1(i))
  
  output = 1 1 2 3 5 8 13 21 34
  </code></pre>
  
  <p>Okay, so starting with 1 it returns 1 then 2 returns 1 too, But then 3 gets sent to fib1(n-1) + (n-2) and it returns 2?, isnt (3-1)+(3-2) == 3? I might be formatting it wrong but please explain how it happens </p>