## Introduction to Factorial in Python

Factorial in general is represented as n!, which is equal to n*(n-1)*(n-2)*(n-3)*….*1, where n can be any finite number. In Python, Factorial can be achieved by a loop function, by defining a value for n or by passing an argument to create a value for n or by creating a prompt to get the user’s desired input. There are few types of programming technique used in python programming, that can be created with the incremental loops like ‘factorial=factorial*I’ and n*factorial(n-1)

n! = n * (n-1) * (n-2) * (n-3) * (n-4) * (n-5) * (n-6) * (n-7) * . . . . . . .* 1

Ex: 20! = 20 * 19 * 18 * 17 * 16 * 15 * 14 * 13 * 12 * 11 * 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 2432902008176640000

n |
n! |

0 | 1 |

1 | 1 |

2 | 2 |

3 | 6 |

4 | 24 |

5 | 120 |

6 | 720 |

7 | 5 040 |

8 | 40 320 |

9 | 362 880 |

10 | 3 628 800 |

11 | 39 916 800 |

12 | 479 001 600 |

13 | 6 227 020 800 |

14 | 87 178 291 200 |

15 | 1.30767E+12 |

16 | 2.09228E+13 |

17 | 3.55687E+14 |

18 | 6.40237E+15 |

19 | 1.21645E+17 |

20 | 2.4329E+18 |

### Techniques of Factorial in Python

#### Technique #1 – Factorial Program

**Code:**

`# Python program to determine the value of factorial for a given number`

# modifying the value keyed in will produce a different result

Number = int(input(" Enter the number for which factorial value to be determined : "))

factorial = 1

# to verify that the given number is greater than zero incase it is less than zero then the

# message stated below will be printed

if Number < 0:

print(" ! ! ! ! ! Factorial value cannot be intended for negative integers ! ! ! ! ! ")

# The default factorial value for zero is one and this is printed here

elif Number == 0:

print(" ! ! ! ! 1 is the factorial value 0 ! ! ! ! ")

else:

# For loop to handle the factorial calculation

for i in range(1,Number + 1):

factorial = factorial*i

print("The factorial value for the " , Number , "is" , factorial)

**Output:**

**Explanation: **The program calculates the factorial of a number using looping technique, here the specific integer value for which the factorial value has to be calculated is keyed in into the ‘Number’ variable. Alongside the variable ‘Factorial’ is initialized with value 1. The first check carried out is to settle on whether the key value is a positive integer. this is because the factorial value for a negative integer cannot be calculated. so the check is implied such that the keyed in value is greater than zero. also if the value keyed is equal to zero then the factorial value for zero which is one is printed. In the next instance, the factorial for a given value is determined by the below formula being executed in a loop with the iterator value getting incremented by one.

`factorial = factorial*i`

The range of this loop is maintained between 1 and one value greater than the number being the keyed in. At the end of the last execution, the value of the factorial is printed.

4.8 (4,794 ratings)

View Course

#### Technique #2 – Factorial Program

**Code:**

`# Python program to determine the value of factorial for a given Number`

# modifying the value keyed in will produce a different result

# Function through which factorial is achieved

def factorial(Number):

"""Factorial of a number is calculated through the below mentioned recursive function"""

if Number == 1:

return Number

else:

return Number * factorial(Number - 1)

# Number for which the factorial has to be determined

Number = int(input(" Enter the Number for which factorial value to be determined : "))

# to verify that the given Number is greater than zero in case it is less than zero then the

# message stated below will be printed

# An error message will be returned if the keyed in input is negative.

# elif an error message will be returned if the keyed in input is zero.

# else user defined function is used for calculating the factorial

if Number < 0:

print( " ! ! ! ! ! Factorial value cannot be intended for negative integers ! ! ! ! !" )

elif Number == 0:

print( " ! ! ! ! 1 is the factorial value 0 ! ! ! ! " )

else:

print("Factorial value for the ", Number , " is: " , factorial(Number))

**Output:**

**Explanation: **The program calculates the factorial of a number using a recursive function calling technique, here the value for which the factorial needs to be determined is keyed into the ‘Number’ variable. Value 1 is initialized to the factorial variable. The first check carried out is to settle on whether the keyed value is a positive integer. this is because the factorial value for a negative integer cannot be calculated. so the check is implied such that the keyed in value is greater than zero. also if the value keyed is equal to zero then the factorial value for zero which is one is printed. In the next instance, the factorial for a given value is determined by the below formula being recursively executed,

`Number * factorial(Number - 1)`

recursive execution by process means a technique through which looping of a given coding instance is achieved manually. this technique involves calling a given function within the same function and this call is encapsulated inside a given if condition. So this encapsulation allows the function to be called until the given condition being satisfied.

### Conclusion

These programs are implied to check whether the given palindrome of a given integer value. Using the above programs any given numeric value can be successfully evaluated for its factorial value. the programs are implied using two widely difference techniques such as recursive function call and usual looping process. from a standard perspective, both these techniques don’t largely differ and they are very much accepted methods of programming.

### Recommended Article

This has been a guide to Factorial in Python. Here we discuss Introduction to Factorial in Python and Different Techniques of the factorial program with Example. You can also go through our other suggested articles to learn more –