input: Write a function to develop a Python program that clearly demonstrates the concept of recursion. The function should define a recursive function to calculate the factorial of a given number and then print the factorial of the number 5.
  assert factorial(1) == 1
  assert factorial(5) == 120
  assert factorial(0) == 1  # Factorial of 0 is defined as 1
  assert factorial(3) == 6
  assert factorial(10) == 3628800
output: def factorial(n):
      if n == 0 or n == 1:
          return 1
      else:
          return n * factorial(n - 1)