def fact(n):
'''
Calculate 1*2*...*n
>>> fact(1)
1
>>> fact(10)
3628800
>>> fact(-1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in fact
ValueError
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
浅言87780
def fact(n):
'''
Calculate 1*2*...*n
>>> fact(1)
1
>>> fact(10)
3628800
>>> fact(-1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in fact
ValueError
'''
if n<1:
raise ValueError()
if n==1:
return 1
return n*fact(n-1)
if __name__=='__main__':
import doctest
doctest.testmod()