Calculating Factorial in Python: A Step-by-Step Guide with Examples
Factorials are fundamental in mathematics and often needed in various programming tasks. In this blog post, we’ll explore how to write a Python program to find the factorial of a number. Additionally, we’ll provide a step-by-step explanation and include example code with outputs.
Understanding Factorials
The factorial of a non-negative integer n, denoted as n!, is the product of all positive integers less than or equal to n. Mathematically, it is expressed as:
n!=n×(n−1)×(n−2)×…×3×2×1
For example:
- 5!=5×4×3×2×1=120
- 0!=1 (by convention)
Python Program to Find the Factorial of a Number
Let’s create a Python program that calculates the factorial of a given number. We’ll use both iterative and recursive approaches for a comprehensive understanding.
Iterative Approach
def factorial_iterative(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
# Example Usage
number = 5
result_iterative = factorial_iterative(number)
print(f"The factorial of {number} (iterative) is: {result_iterative}")
Output:
The factorial of 5 (iterative) is: 120
Recursive Approach
def factorial_recursive(n):
if n == 0 or n == 1:
return 1
return n * factorial_recursive(n - 1)
# Example Usage
number = 5
result_recursive = factorial_recursive(number)
print(f"The factorial of {number} (recursive) is: {result_recursive}")
Output:
The factorial of 5 (recursive) is: 120
Step-by-Step Explanation
Iterative Approach
- We initialize a variable
result
to 1 as the initial value for the factorial. - Using a
for
loop, we iterate from 1 to n (inclusive). - In each iteration, we multiply the current value of
result
by the loop variable. - The final value of
result
is the factorial of n.
Recursive Approach
- The base case checks if n is 0 or 1. If true, it returns 1.
- If n is greater than 1, the function calls itself with the argument n-1 and multiplies the result by n.
- The recursion continues until reaching the base case.
Conclusion
Calculating factorials is a common mathematical operation, and understanding how to implement it in Python is valuable. Whether you choose an iterative or recursive approach, the concept remains the same. Use this knowledge to solve problems involving permutations, combinations, and more.