Discuss / Python / 很奇怪

很奇怪

Topic source

小菜

#1 Created at ... [Delete] [Delete and Lock User]

def fact(n):

    '''

    Calculate 1*2*...*n

    >>> fact(1)

    1

    >>> fact(10)

    3628800

    >>> fact(-1)

    Traceback (most recent call last):

      File "/usr/local/lib/python3.9/doctest.py", line 1336, in __run

        exec(compile(example.source, filename, "single",

      File "<doctest __main__.fact[2]>", line 1, in <module>

        fact(-1)

      File "/app/main.py", line 14, in fact

        raise ValueError()

    ValueError

    '''

    if n < 1:

        raise ValueError()

    elif n == 1:

        return 1

    else:

        return n * fact(n - 1)


  • 1

Reply