In mathematics, the factorial of a positive integer n, denoted by n!, is the product of all positive integers less than or equal to n:
n! = n × ( n − 1 ) × ( n − 2 ) × ( n − 3 ) × ⋯ × 3 × 2 × 1
For example,
5 ! = 5 × 4 × 3 × 2 × 1 = 120
Note: factorial is defined only for non-negative integer numbers.
Finding factorial of a number in Python using Iteration
1. Factorial of a number using for loop
# input number to calculate factorial num = int(input("Enter the number :")) #initialize factorial to 1 factorial = 1 if num < 0: print("Factorial is defined only for non-negative integer numbers") else: for i in range(1,num+1): factorial = factorial * i print("Factorial of {} is {}".format(num, factorial))
Output
Enter the number :5
Factorial of 5 is 120
2. Factorial of a number using while loop
def factorial(number): if number == 0 or number == 1: return 1 else: factorial = 1 while(number > 1): factorial = factorial * number number = number - 1 return factorial #input number to calculate factorial number = int(input("Enter the number :")) #calculate factorial if number is non-negative if number < 0: print('Factorial is defined only for non-negative integer numbers') else: print('Factorial is ', factorial(number))
Factorial of a number using recursion
def factorial(number): return 1 if (number==1 or number==0) else number * factorial(number - 1) #input number to calculate factorial number = int(input("Enter the number :")) print("Factorial is", factorial(number))
Factorial of a number using in-built math module
from math import factorial num = int(input("Enter the number :")) fact = factorial(num) if num < 0: print("Factorial is defined only for non-negative integer numbers") else: print("Factorial is", factorial(num))