Source code for fibonacci.fibonacci

from numbers import Integral


[docs]def fib(n): """Return the n-th Fibonacci number.""" if n == 0: return 0 elif n == 1: return 1 else: return fib(n-2) + fib(n-1)
[docs]def typesafe_fib(n): """Return the n-th Fibonacci number, raising an exception if a non-integer is passed as n.""" if not isinstance(n, Integral): raise TypeError(f"fib expects an integer, not a {type(n).__name__}") if n == 0: return 0 elif n == 1: return 1 else: return fib(n-2) + fib(n-1)