Skip to content

lib

InvalidFactorialError

Bases: RuntimeError

Error generated if an invalid factorial input is given.

Source code in src/fact/lib.py
1
2
class InvalidFactorialError(RuntimeError):
    """Error generated if an invalid factorial input is given."""

factorial(n: int) -> int

Computes the factorial through a recursive algorithm.

Parameters:

Name Type Description Default
n int

A positive input value.

required

Raises:

Type Description
InvalidFactorialError

If n is less than 0.

Returns:

Type Description
int

Computed factorial.

Source code in src/fact/lib.py
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
def factorial(n: int) -> int:
    """Computes the factorial through a recursive algorithm.

    Args:
        n: A positive input value.

    Raises:
        InvalidFactorialError: If n is less than 0.

    Returns:
        Computed factorial.
    """
    if n < 0:
        raise InvalidFactorialError(f"n is less than zero: {n}")
    elif n == 0:
        return 1

    return n * factorial(n - 1)