Python: Calculate Factorial

📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.

🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.

▶️ Subscribe to My YouTube Channel (176K+ subscribers): Java Guides on YouTube

▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube

1. Introduction

The factorial of a non-negative integer n is the product of all positive integers less than or equal to n. It's denoted by n! and is defined as n! = n x (n-1) x (n-2) x ... x 1. For example, 5! = 5 x 4 x 3 x 2 x 1 = 120. In this blog post, we'll develop a Python program that calculates the factorial of a given number.

2. Program Overview

Our program will take an integer input from the user and then compute the factorial using a recursive approach. The base case is that the factorial of 0 is 1.

3. Code Program

def factorial(n): """Compute the factorial of n.""" # Base case: factorial of 0 is 1 if n == 0: return 1 # Recursive case: n! = n * (n-1)! return n * factorial(n-1) # Input number from user num = int(input("Enter a number: ")) # Ensure the number is non-negative if num < 0: print("Please enter a non-negative integer.") else: print(f"The factorial of {num} is {factorial(num)}.") 

Output:

For the input 5, the program will output: "The factorial of 5 is 120." 

4. Step By Step Explanation

1. The factorial function calculates the factorial using recursion.

2. If the number is 0, it directly returns 1 (base case).

3. For any other number, it returns n multiplied by the factorial of (n-1). This recursion continues until n becomes 0.

4. In the main section, the program prompts the user for input. If the number is negative, it informs the user to enter a non-negative integer.

5. Otherwise, it calls the factorial function and displays the result.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare