Skip to content

Commit b4fb04a

Browse files
Update factorial_iterative.py
Address review: add doctests and descriptive parameter name
1 parent c1c2b3f commit b4fb04a

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

maths/factorial_iterative.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
1-
def factorial_iterative(n: int) -> int:
1+
def factorial_iterative(number: int) -> int:
22
"""
3-
Return the factorial of n using an iterative approach.
4-
Raises ValueError for negative inputs.
3+
Return the factorial of a non-negative integer using an iterative method.
4+
5+
>>> factorial_iterative(5)
6+
120
7+
>>> factorial_iterative(0)
8+
1
9+
>>> factorial_iterative(1)
10+
1
511
"""
6-
if n < 0:
12+
if number < 0:
713
raise ValueError("Input must be a non-negative integer")
14+
815
result = 1
9-
for i in range(1, n + 1):
16+
for i in range(2, number + 1):
1017
result *= i
1118
return result
1219

1320

1421
if __name__ == "__main__":
1522
# simple demonstration
1623
print(factorial_iterative(5)) # expected 120
24+

0 commit comments

Comments
 (0)