def fib_for_loop(n, a=0, b=1):
    for _ in range(n): 
        a, b = b, a+b
    return a

def fib_while_loop(n, a=0, b=1):
    while True:
        if n < 1: return a 
        a, b = b, a+b 
        n = n-1
   
def fib_tail_recursive(n, a=0, b=1):
    if n < 1: return a
    return fib_tail_recursive(n-1, b, a+b)   

def fib_naive_recursive(n):
    if n < 1: return 0
    if n < 2: return 1
    return fib_naive_recursive(n-1) + fib_naive_recursive(n-2)

def fib_generative(n, a=0, b=1):
    for _ in range(n):
        yield a 
        a, b = b, a+b 

# driver code below
for i in range(7): 
    print(fib_for_loop(i), end=' ')
    
print()    
for i in range(7):     
    print(fib_while_loop(i), end=' ')
    
print()    
for i in range(7):     
    print(fib_naive_recursive(i), end=' ')
    
print()  
for i in range(7):     
    print(fib_tail_recursive(i), end=' ')  
    
print()    
for i in fib_generative(7): 
    print(i, end=' ')    
    
        

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: