Javaexercise.com

How to Find Factorial of Any Number in Python

This article is about finding factorial of any number in Python. In mathematics, a factorial is a positive number and represented as n!. A factorial is a product of all positive integers less than or equal to n.

For example, if we calculate the factorial of 3, then the product of all integers less than 6 will be 3*2*1 = 6. It means the factorial of 3 is 6.

Now, let's implements it using the Python program. 

Algorithm To Find Factorial in Python

Step 1: Take a number

Step 2: Check whether the number is greater than 1

Step 3: Iterate a loop for all the values less than the number

Step 4: Calculate factorial 

Step 5: Repeat step 3 and 4 until the loop exits

Step 6: Display factorial

 

This algorithm is to calculate the factorial without using math.factorial() method. You can see its implementation in example2 below.

 

Python Program to Find Factorial of Given Number using math.factorial() Method

Python provides a math module that contains the factorial() method. We can use this method to calculate factorial for any number as we did in the below code example. 

import math
# Take a number
num = 5
print(num)
fact = 1
# Find factorial
fact = math.factorial(num)
# Display result
print("Factorial is: ",fact)

Output:

5

Factorial is:  120

 

Python Program to Find Factorial of Given Number

In this example, we are using for loop to calculate the factorial of a number. We can use this code if don't want to use math.factorial() method. See the code and output.

# Take a number
num = 5
print(num)
fact = 1
# Find factorial
if num >= 1:
    for i in range (1, num+1):
        fact = fact * i
# Display result
print("Factorial is: ",fact)

Output:

5

Factorial is:  120

 

Python Program to Find Factorial of Given Number using Recursion.

Recursion is a technique in which a function calls itself until the base condition. Here, we used the recursion approach to find a factorial of a number in Python. See the code and output.

# Take a number
num = 5
print(num)
fact = 1
# Find factorial
def factorial(num):
    if num < 2:
        return 1
    else:
        return num * factorial(num-1)
# Display result
print("Factorial is: ",factorial(num))

Output:

5

Factorial is:  120