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