input: Write a python function to calculate the factorial of a number.
  assert factorial(5) == 120
  assert factorial(0) == 1
  assert factorial(7) == 5040
  assert factorial(3) == 6
output: def factorial(n):
      if n == 0:
          return 1
      result = 1
      for i in range(1, n + 1):
          result *= i
      return result