# Python Program to Find Factorial of a Number Using Recursion

In this python tutorial, you will learn how to Find Factorial of a Number Using Recursion with the if, else and elif statement with the different operators of the python programming language.

## How to Find Factorial of a Number Using Recursion?

Let’s take a look at the source code , here the values are given as input by the user in the code, the if, else and elif statements and for loop along with the assignment operators carry out the function.

```# Factorial of a number using recursion

def recur_factorial(n):
if n == 1:
return n
else:
return n*recur_factorial(n-1)

num = int(input("Enter the integer: "))

if num < 0:
print("\nSorry, factorial does not exist for negative numbers")
elif num == 0:
print("\nThe factorial of 0 is 1")
else:
print("\nThe factorial of", num, "is", recur_factorial(num))
```

INPUT:

`6`

OUTPUT:

```Enter the integer:
The factorial of 6 is 720```
1. At the start, we use `def recur_factorial(n):` where the `def` keyword is used to define a function and `recur_factorial` is used to call the function to get the value of the variable `n`.
2. We declare an `if` statement with the condition `n == 1:` where if it is satisfied, using the `return` function we return the value of n, if the condition is not satisfied, it moves to the next step which is the `else` statement where the value obtained after the execution of the equation `n*recur_factorial(n-1)` is returned using the `return` function.
3. Here we give the user the option to enter the values and the input values are scanned using the `input` function and are stored in the variable `num` with the statements/strings `("Enter the integer: ")`, we use the `int `function and declare the  input value as an integer value.
4. In the STDIN section of the code editor the input values are entered.
5. We declare another `if` statement with the condition `num < 0` where if it is satisfied, the `print` function will display the statement, `("\nSorry, factorial does not exist for negative numbers")`, if the condition is not satisfied, it moves to the next step which is the `elif` statement
6. We declare the `elif` statement with the condition `num == 0`, where if the condition is satisfied, the `print` function will display the statement, `("\nThe factorial of 0 is 1")`
7. If the above `elif` statement is not satisfied it moves to the next step which is the `else` statement, where the `print` function will display the statement, `("\nThe factorial of", num, "is", recur_factorial(num)`, where the function `recur_factorial(num)`  holds the final value of the recursive function will be displayed.

NOTE:

• Recursive functions are functions that calls itself. It is always made up of 2 portions, the base case and the recursive case. The base case is the condition to stop the recursion. The recursive case is the part where the function calls on itself.
• The < lesser than operator is a comparison operator which returns True if the condition is satisfied, if not it returns false.
• The == equality is a comparison operator which returns True is the two items are equal and returns False if not equal.
• The input() function allows a user to insert a value into a program, it returns a string value.
• The if and else statements evaluates whether an expression is true or false. If a condition is true, the “if” statement is executed otherwise, the “else” statement is executed.
• The elif is short for else if, it allows us to check for multiple expressions.
•  The colon : at the end of the if and else statement tells Python that the next line of code should only be run if the condition is true.
• The statement for the input function are enclosed in single quotes and parenthesis.
• The \n in the code indicates a new line or the end of a statement line or a string.
• The print statement/string to be displayed in enclosed in double quotes.