input: Write a function to understand recursion in Python. The function should calculate the factorial of a given number using a recursive approach. If the given number is 1, return 1. Otherwise, return the product of the number and the factorial of its previous number.
  assert factorial(5)==120
  assert factorial(3)==6
  assert factorial(1)==1
  assert factorial(0)==1
  assert factorial(4)==24
output: def factorial(n):
      if n == 0 or n == 1:
          return 1
      else:
          return n * factorial(n - 1)