Skip to content

Commit 2a695ff

Browse files
committed
Add input validation and docstring to factorial function
1 parent cf82a85 commit 2a695ff

File tree

1 file changed

+6
-18
lines changed

1 file changed

+6
-18
lines changed

maths/factorial.py

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,13 @@
55

66
def factorial(number: int) -> int:
77
"""
8-
Calculate the factorial of specified number (n!).
8+
9+
Calculate the factorial of a non-negative integer.
910
10-
>>> import math
11-
>>> all(factorial(i) == math.factorial(i) for i in range(20))
12-
True
13-
>>> factorial(0.1)
14-
Traceback (most recent call last):
15-
...
16-
ValueError: factorial() only accepts integral values
17-
>>> factorial(-1)
18-
Traceback (most recent call last):
19-
...
20-
ValueError: factorial() not defined for negative values
21-
>>> factorial(1)
22-
1
23-
>>> factorial(6)
24-
720
25-
>>> factorial(0)
26-
1
11+
:param n: non-negative integer
12+
:return: factorial of n
13+
:raises ValueError: if n is negative
14+
2715
"""
2816
if number != int(number):
2917
raise ValueError("factorial() only accepts integral values")

0 commit comments

Comments
 (0)