Factorial Using Python Programming

Filed Under: Python
Factorial In Python

Before we start implementing factorial using Python, let us first discuss what factorial of a number implies.

Theoretically, the factorial of a number is defined as the product of all positive integers less than or equal to the number. Certainly, ‘n!’ represents the factorial of an integer ‘n’. As an example, let us look at the factorial of the number 6,

6! = 6 * 5 * 4 * 3 * 2 * 1

The following techniques could be followed to determine the factorial of an integer.

  1. Using Loop
  2. Using Recursive function call
  3. Using predefined function ‘factorial()’ from the math module

Using Loop in Python

The below-mentioned code illustrates how we can calculate the factorial of a given number using for loop in Python programming.

n=9
fact=1
for i in range(2,n+1):
    fact=fact*i
print("The factorial of ",n," is: ",fact)

Output:

The factorial of 9 is: 362880

Using Recursion function call in Python

Similarly, we can also calculate the factorial of a given number using a Recursive function. Let us see how

n=9
def fact(n):
    if(n==1 or n==0):
        return 1
    else:
        return n*fact(n-1)

print("The factorial of ",n," is: ",fact(n))

Output

The factorial of 9 is: 362880

For a clear understanding of functions and recursion, one can refer to

Python Function and Arguments
Python Recursion Function

Using the factorial() method from the math module in Python

The math module provides a simple way to calculate the factorial of any positive integer. Certainly, the module comes with a pre-defined method ‘factorial()’ which takes in the integer as an argument and returns the factorial of the number. Let’s take a look at how we can use the pre-defined method and consequently find the factorial. The code given below depicts how the method ‘factorial()‘ can be used

import math
n=9
print("The factorial of ",n," is: ",math.factorial(n))

Output:

The factorial of 9 is: 362880

Furthermore, in the case of all of the above-mentioned techniques, we have used a pre-defined value of the integer ‘n’. Also making ‘n’ a user input is possible. This could be easily achieved by substituting the line ‘n=9’ with:

n=int(input("Enter the number for calculating factorial"))

The Python input function is covered in further detail in one of our previous articles.

References:

https://stackoverflow.com/questions/5136447/function-for-factorial-in-python

https://stackoverflow.com/questions/20604185/find-the-best-way-for-factorial-in-python

Leave a Reply

Your email address will not be published. Required fields are marked *

close
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages