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.
RUN CODE SNIPPET# 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
- At the start, we use
def recur_factorial(n):
where thedef
keyword is used to define a function andrecur_factorial
is used to call the function to get the value of the variablen
. - We declare an
if
statement with the conditionn == 1:
where if it is satisfied, using thereturn
function we return the value of n, if the condition is not satisfied, it moves to the next step which is theelse
statement where the value obtained after the execution of the equationn*recur_factorial(n-1)
is returned using thereturn
function. - 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 variablenum
with the statements/strings("Enter the integer: ")
, we use theint
function and declare the input value as an integer value. - In the STDIN section of the code editor the input values are entered.
- We declare another
if
statement with the conditionnum < 0
where if it is satisfied, theprint
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 theelif
statement - We declare the
elif
statement with the conditionnum == 0
, where if the condition is satisfied, theprint
function will display the statement,("\nThe factorial of 0 is 1")
- If the above
elif
statement is not satisfied it moves to the next step which is theelse
statement, where theprint
function will display the statement,("\nThe factorial of", num, "is", recur_factorial(num)
, where the functionrecur_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.