What is factorial?
The factorial of a number(non-negative integers) is the product of all positive numbers that are less than or equal to the number itself. The factorial for negative numbers is not defined and for 0 it is 1(exception). It is denoted by !
Formula:
n! = n x (n-1) x (n-2) x (n-3) … 1
Examples:
1! => 1 => 1
2! => 2 x 1 => 2
3! => 3 x 2 x 1 => 6
4! => 4 x 3 x 2 x 1 => 24
5! => 5 x 4 x 3 x 2 x 1 => 120
We will find the factorial of a number in Python using 6 different methods. Let’s start
Method 1: Using for loop
n = int(input('Enter number: ')) factorial = 1 for i in range(1, n+1): factorial = factorial * i print('Enter value greater than equal to 0' if n < 0 else f'Factorial of {n} is {factorial}')
Method 2: Using while loop
num = int(input('Enter number: ')) n = num factorial = 1 while n >= 1: factorial = factorial * n n = n - 1 print('Enter value greater than equal to 0' if n < 0 else f'Factorial of {num} is {factorial}')
Method 3: With function using for loop
def factorial(n): num = 1 for i in range(1, n+1): num = num * i return num n = int(input('Enter number: ')) print('Enter value greater than equal to 0' if n < 0 else f'Factorial of {n} is {factorial(n)}')
Method 4: With function using while loop
def factorial(n): num = 1 while n > 1: num = num * n n = n - 1 return num n = int(input('Enter number: ')) print('Enter value greater than equal to 0' if n < 0 else f'Factorial of {n} is {factorial(n)}')
Method 5: With recursive function
def factorial(n): if n > 1: return n * factorial(n-1) return 1 n = int(input('Enter number: ')) print('Enter value greater than equal to 0' if n < 0 else f'Factorial of {n} is {factorial(n)}')
Method 6: Using in-built factorial() method of math module
import math n = int(input('Enter number: ')) print('Enter value greater than equal to 0' if n < 0 else f'Factorial of {n} is {math.factorial(n)}')
Output:
Also Read:
- Python | Check Armstrong Number using for loop
- Python | Factorial of a number using for loop
- Create your own ChatGPT with Python
- Filter List in Python | 10 methods
- Python | Check if a string is a palindrome or not without Recursion
- Python | Check if a number is an Armstrong Number or not using Recursion
- Python | Check if a number is an Armstrong Number or not without using Recursion
- Python | Shuffle a list using recursion
- Python | Shuffle a list without recursion
- Python | Implementing switch case using functions
- Python | Find LCM using function
- Python | Find HCF using function
- Python | Convert the binary number to decimal without using library function
- Python | Create a basic operations calculator(+, -, /, and x), create a separate function for each operation
- Python | Detecting the number of local variables declared in a function
- Python | Making a chain of function decorators (bold italic underline etc)
- Python | Access function inside a function
- Python | Create a function with a pass statement
- Python | Function to calculate the square root of a number
- Python | A function that calculates the power of a number
- Python | A function that accepts 2 integers and adds them and returns their sum
- Python | Function that takes a list of integers and returns the last integer
- Python | Return multiple values from a function
- Python function that takes a list and returns a new list with unique elements of the first list
- Python | Generate a random number in the range of 1 to 10 using the function
- Python | Check Whether a Given Number is Even or Odd using Recursion
- Python | Print Binary Equivalent of an Integer using Recursion
- Python | Print Binary Equivalent of a Number without Using Recursion
- Python | Reverse a string using recursion
- Python | Find Sum of Digit of a Number Without Recursion