In this tutorial, we are going to learn a python program to find the factorial of the number given as input from the user.
Problem Statement
For any numbers that are input by the user, we have to calculate the factorial of that numbers.
For example:
Case1: If the user input the 5.
then the output should be 120 ( 1*2*3*4*5= 120).
Case2: If the user input the 6.
then the output should be 720 (1*2*3*4*5*6 =720).
Factorial of a number
The factorial of a number is the multiplication of each and every number till the given number except 0.
For example:
Case1: factorial of number 4 is the multiplication of every number till number 4, i.e. 1*2*3*4
Case 2: factorial of number 3 is the multiplication of every number till number 3, i.e. 1*2*3
NOTE:
- The factorial of 0 is 1
- The factorial of any negative number is not defined.
- The factorial only exits for whole numbers.
Let’s discuss some more about functions that we are going to use in our program.
Python functions used in our program
Range() function
It returns the sequence of a given number between a given range. Range() function is a Python built-in function that is used when the user needs to perform an action-specific number of times. It is commonly used with looping statements.
It takes 3 arguments
1. start: it is theinteger starting from which the series of integers is to be returned.
2. stop: it is the integer earlier than which the collection of integers is to be lower back.
3. step: it is the integer that determines the increment among each integer within the collection.
‘for’ loop Statement
The ‘for loop’ is a looping statement in python which is used to iterate over a sequence or any other iterable objects such as lists, tuples, dictionaries, strings, etc.
Flow Chart for ‘for loop’
- There can be any number of ‘elif’ block but there must be a condition assigned for each and every ‘elif’ statement.
- There must be a ‘if’ statement with a condition assigned and there must not be more than 1 ‘if’ statement.
- ‘else’ statement is optional.
Our logic to calculate the factorial
- Our program will take an integer input from the user which should be a whole number.
- If the number input is negative then print ‘The factorial can’t be calculated’.
- Then use for loop with range function to define the sequence of numbers which we will use to calculate the factorial.
- After that, we will store the value of the factorial in a variable and finally print the value of the variable.
Algorithm to calculate the factorial
Step 1: Start
Step 2: take input from the user for finding the factorial.
Step 3: Create a variable ‘factorial’ and assign the value 1.
Step 4: if(number<0):
print ‘cannot be calculated.
elif ( number == 1):
print 1
else:
for i in range(1, number+1):
factorial*=i
Step 5: print factorial
Step 6: Stop
Python Code to calculate the factorial
Output 1:
Explanation:
The input number from the user to find the factorial is 5. The calculated value of the factorial is 1*2*3*4*5.
Output 2:
Explanation:
The input number from the user to find the factorial is 8. The calculated value of the factorial is 1*2*3*4*5*6*7*8.