Quick actions

cmd+k|ctrl+k

Navigation

Languages

Fibonacci

Snippet info

Language

Python

Visibility

public

Author

adrianblair1992

Created

2024-11-25T10:39:52.642908Z

Updated

2024-11-25T11:38:58.046943Z

# Fibonacci Sequence.
# https://en.wikipedia.org/wiki/Fibonacci_sequence
# e.g. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 etc.
# Add the one before.

# It's a good test to see the difference between using a list and generator.

from timeit import timeit

def fib(number):
    a = 0
    b = 1
    
    for i in range(number):
        yield a
        temp = a
        a = b
        b = temp + b
        
def fib_list(number):
    a = 0
    b = 1
    result = []
    
    for i in range(number):
        result.append(a)
        temp = a
        a = b
        b = temp + b
        
    return result
     

time_taken = timeit(lambda: [fib_list(10)], number=100)
print(f"Time taken: {time_taken}")

time_taken = timeit(lambda: [x for x in fib(100)], number=100)
print(f"Time taken: {time_taken}")
INFO