input: Write a function that takes an integer \( n \) as input and returns its factorial. The factorial of a number is the product of all positive integers less than or equal to that number. If \( n \) is 0, the function should return 1.
  
  def factorial(n):
      if n == 0:
          return 1
      fact = 1
      for i in range(1, n+1):
          fact *= i
      return fact
  
  assert factorial(7) == 5040
  assert factorial(0) == 1
  assert factorial(5) == 120
  assert factorial(1) == 1
  assert factorial(3) == 6
output: def factorial(n):
      if n == 0:
          return 1
      fact = 1
      for i in range(1, n+1):
          fact *= i
      return fact