Skip to content

Commit f92a8ff

Browse files
committed
factorail using reduce
1 parent 82aa909 commit f92a8ff

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

maths/factorial.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
Factorial of a positive integer -- https://en.wikipedia.org/wiki/Factorial
33
"""
44

5+
from functools import reduce
6+
57

68
def factorial(number: int) -> int:
79
"""
@@ -29,9 +31,8 @@ def factorial(number: int) -> int:
2931
raise ValueError("factorial() only accepts integral values")
3032
if number < 0:
3133
raise ValueError("factorial() not defined for negative values")
32-
value = 1
33-
for i in range(1, number + 1):
34-
value *= i
34+
if number in {0, 1}: return 1
35+
value = reduce(lambda x , y: x * y, range(1, number + 1))
3536
return value
3637

3738

0 commit comments

Comments
 (0)