# 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```
VIEW ALL
VIEW ALL
VIEW ALL