Python Program to find the factorial of a number

In this simple python program, we need to find the factorial of a number using recursion. It's a python program on recursive function.

To understand this example, you should have knowledge of the following Python programming topics:

What is the factorial of a number?

In this python program, we have to find the factorial of a given number using a recursive function in python. So we have to understand what you mean by factorial. The Factorial of a number is the product of all the numbers from 1 to that number.

For example, the factorial of a number 5 is 5 * 4 * 3 * 2 * 1 is 120. Now we have to understand what recursion is? Recursion is a function that calls itself repeatedly directly or indirectly. Here we have to call the factorial function recursively with a parameter number less than one every time. And then multiply the number with that recursive function with a parameter with less than one.

return num * factorial(num - 1) 

How to find the factorial of a number in python?

In this python program, we accept the number from the user and save that number in a variable using int datatype. Now check the number is less than zero. If so, print, we cannot do factorial of that number. Now check the number is zero; if so, then print the factorial of that number is 1. Else we call the function factorial(num) that calculates the factorial using recursion. Inside the function, we check the number is 1 or not using the if condition in python. If so, return the number. Else call the function return num * factorial(num - 1).

ALGORITHM

STEP 1: Enter the number from the user using the input function in python. And convert that string to an integer and store it in a variable.

STEP 2: Use the if condition to check the number is greater than zero. If the number is less than zero, then print factorial for negative numbers cant be found.

STEP 3: Use the elif condition to check the number is equal to zero. Then print factorial of zero is 1.

STEP 4: Call the function factorial and pass the number as a parameter. and print the result as the factorial of the number Defining the user function Factorial in python programming

User-Defined Function factorial

STEP 1: Use the def function to define the function factorial with a parameter.

STEP 2: Check if the number is equal to 1 using an if condition. Then return num.

STEP 3: Return the result as a number multiplied with a function factorial of a number less than 1.

Python Source Code

                                          def factorial(num):                         # recursive function that call itself to find the factorial of the number
     if num == 1:
        return num
    else:
        return num * factorial(num - 1)                    # finding factorial by multiplying number with factorial of that number less than one, 


num = int(input("Enter a Number to find the factorial: "))                 # accept a number in python using input function

if num < 0:

    print("Factorial for negative numbers cant be calculated")                    # check the number is negative or not and print cannot find factorial for negative numbers

elif num == 0:
    print("Factorial of 0 is 1")               # if the number is 0 then print factorial of number 0 is 1
else:
    print("Factorial of the number is: ", factorial(num))         # calling the factorial function using number as parameter
                                      

OUTPUT

Enter a Number to find the factorial: 5

Factorial of the number is: 120