Recursive definition:
def fibo(n):
if n == 0: return 0
if n == 1: return 1
if n == 2: return 1
return fibo(n-1) + fibo(n-2)
def fibonacci(n):
result= []
a,b= 0,1
while a < n:
result.append(a)
a,b= b, a+b
return result
Complete:
def fibo(n):
if n == 0: return 0
if n == 1: return 1
if n == 2: return 1
return fibo(n-1) + fibo(n-2)
def fibonacci(n):
result= []
a,b= 0,1
while a < n:
result.append(a)
a,b= b, a+b
return result
if __name__ == '__main__':
print fibo(5000)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181]