input: Below is an instruction that describes a task. Write a response that appropriately completes the request.
  
  ### Instruction:
  Design an algorithm in Python for finding out the factorial of a given number.
  
  ### Input:
  7
  
  ### Output:
  Write a function to calculate the factorial of a given number. The function should take an integer n as input and return the factorial of that number. If the input number is 0, return 1 as per mathematical convention.
  def factorial(n):
      if n == 0:
          return 1
      result = 1
      for i in range(1, n + 1):
          result *= i
      return result
  
  assert factorial(7) == 5040
  assert factorial(0) == 1
  assert factorial(5) == 120
  assert factorial(3) == 6
  assert factorial(1) == 1
output:     if n == 0:
          return 1
      result = 1
      for i in range(1, n + 1):
          result *= i
      return result