Discuss / Python / daka

def fact(n):

    '''

    Calculate 1*2*...*n

    >>> fact(1)

    1

    >>> fact(10)

    3628800

    >>> fact(-1)

    Traceback (most recent call last):

    ...

    ValueError: invalid argument '-1'

    '''

    if n < 1:

        raise ValueError('invalid argument \'%s\'' %n)

    if n == 1:

        return 1

    return n * fact(n - 1)


  • 1

Reply