Function Preconditions and Postconditions
def factorial(n):
"""
Calculates the factorial of n.
Precondition: n >= 0
Postcondition:
- The return value is the factorial of n.
- The function does not modify n.
"""
if n < 0:
raise ValueError('n must be non-negative')
output = 1
for i in range(2, n+1):
output *= i
return outputLast updated