def fact(n):
'''
Calculate 1*2*...*n
>>> fact(1)
1
>>> fact(10)
3,628,800
>>> fact(-1)
Traceback (most recent call last):
...
ValueError: invalid value '-1'
if n < 1:
raise ValueError()
if n == 1:
return 1
return n * fact(n - 1)
if __name__ == '__main__':
import doctest
doctest.testmod()
Sign in to make a reply
Aunlit_Drean曚朔
def fact(n):
'''
Calculate 1*2*...*n
>>> fact(1)
1
>>> fact(10)
3,628,800
>>> fact(-1)
Traceback (most recent call last):
...
ValueError: invalid value '-1'
'''
if n < 1:
raise ValueError()
if n == 1:
return 1
return n * fact(n - 1)
if __name__ == '__main__':
import doctest
doctest.testmod()