factorial.py 425 B

123456789101112131415161718
  1. def factorial(number):
  2. """
  3. Calculates the factorial of a number using recursion.
  4. """
  5. assert int(number) == number, "Factorial of decimals not possibe"
  6. if number < 0:
  7. raise ValueError("Factorial of a negative number not possible")
  8. if number in (0, 1):
  9. return 1
  10. else:
  11. return number * factorial(number - 1)
  12. # Driver Code
  13. if __name__ == "__main__":
  14. print(factorial(5))