Discuss / Python / 11

def fact(n):

'''

Calculate 1*2*...*n

>>> fact(1)

1

>>> fact(10)

3628800

>>> fact(-1)

Traceback (most recent call last):

...

ValueError: -1

'''

if n<1:

raise ValueError(n)

if n == 1:

return 1

return n * fact(n-1)

if __name__=='__main__':

import doctest

doctest.testmod()


  • 1

Reply