input: Write a function that calculates the factorial of a given integer. If the integer is less than or equal to 1, it should return 1. Otherwise, it should recursively calculate the factorial of the number by multiplying it with the factorial of the number minus one.
  
  def factorial(num):
      if num <= 1:
          return 1
      else:
          return num * factorial(num - 1)
  
  assert factorial(0) == 1
  assert factorial(1) == 1
  assert factorial(5) == 120
  assert factorial(7) == 5040
output: def factorial(num):
      if num <= 1:
          return 1
      else:
          return num * factorial(num - 1)