input: Write a function that calculates the factorial of a given number. The factorial of a number n is the product of all positive integers less than or equal to n. If the number is 0, the factorial is defined as 1.
  def factorial(n):
   if n == 0:
    return 1
   else:
    return n * factorial(n-1)
  assert factorial(0)==1
  assert factorial(1)==1
  assert factorial(5)==120
  assert factorial(10)==3628800
  assert factorial(3)==6
output: def factorial(n):
   if n == 0:
    return 1
   else:
    return n * factorial(n-1)