diff --git a/maths/fibonacci.py b/maths/fibonacci.py index e810add69..8cdd6cdb1 100644 --- a/maths/fibonacci.py +++ b/maths/fibonacci.py @@ -81,6 +81,18 @@ def fib_recursive(n: int) -> list[int]: def fib_recursive_term(i: int) -> int: """ Calculates the i-th (0-indexed) Fibonacci number using recursion + >>> fib_recursive_term(0) + 0 + >>> fib_recursive_term(1) + 1 + >>> fib_recursive_term(5) + 5 + >>> fib_recursive_term(10) + 55 + >>> fib_recursive_term(-1) + Traceback (most recent call last): + ... + Exception: n is negative """ if i < 0: raise Exception("n is negative") @@ -197,6 +209,10 @@ def fib_binet(n: int) -> list[int]: if __name__ == "__main__": + import doctest + + doctest.testmod() + num = 30 time_func(fib_iterative, num) time_func(fib_recursive, num) # Around 3s runtime