File tree 2 files changed +18
-39
lines changed
2 files changed +18
-39
lines changed Original file line number Diff line number Diff line change 1
- # factorial of a positive integer -- https://en.wikipedia.org/wiki/Factorial
1
+ """Factorial of a positive integer -- https://en.wikipedia.org/wiki/Factorial
2
+ """
2
3
3
4
4
- def factorial (n : int ) -> int :
5
+ def factorial (input_number : int ) -> int :
5
6
"""
7
+ Calculate the factorial of specified number (n!).
8
+
6
9
>>> import math
7
10
>>> all(factorial(i) == math.factorial(i) for i in range(20))
8
11
True
@@ -14,17 +17,27 @@ def factorial(n: int) -> int:
14
17
Traceback (most recent call last):
15
18
...
16
19
ValueError: factorial() not defined for negative values
20
+ >>> factorial(1)
21
+ 1
22
+ >>> factorial(6)
23
+ 720
24
+ >>> factorial(0)
25
+ 1
17
26
"""
18
- if n != int (n ):
27
+ if input_number != int (input_number ):
19
28
raise ValueError ("factorial() only accepts integral values" )
20
- if n < 0 :
29
+ if input_number < 0 :
21
30
raise ValueError ("factorial() not defined for negative values" )
22
31
value = 1
23
- for i in range (1 , n + 1 ):
32
+ for i in range (1 , input_number + 1 ):
24
33
value *= i
25
34
return value
26
35
27
36
28
37
if __name__ == "__main__" :
38
+ import doctest
39
+
40
+ doctest .testmod ()
41
+
29
42
n = int (input ("Enter a positive integer: " ).strip () or 0 )
30
43
print (f"factorial{ n } is { factorial (n )} " )
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments