Python Forum

Full Version: Fibonacci sequence
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hey i have this code which should print out fibonaccis sequence yet encounter the following error.
Error:
Traceback (most recent call last): File "C:\Users\Louis\csyr9\fibonacci.py", line 12, in <module> fibonacci() File "C:\Users\Louis\csyr9\fibonacci.py", line 5, in fibonacci while a <= 20: UnboundLocalError: local variable 'a' referenced before assignment
here is the code:
a = 1
b = 2

def fibonacci():
    while a <= 20:
        c = a+b
        d = b+c
        print (a,b,c,d)
        a = c
        b = d
fibonacci()
how do i fix this? thanks
You need to define a and b in the function (indented under def fibonacci). Since you assign a value to a within the function, it assumes that variable is local to the function. Then it doesn't look outside the function for the value. But then on line 5 it can't find the value of a, since it hasn't been defined in the function.

See the function tutorial link in my signature below for more information.
Thanks!