# Python Program to find factorial of a number

In this tutorial we will learn how to write Python program to find factorial of a number.

Formula to Calculate Factorial of a Number:

n! = 1 * 2 *3 . . . . . . n

OR

n! = n * ( n-1 ) * ( n – 2 ) . . . . . * 1

Factorial of 9 = 1*2*3*4*5*6*7*8*9 = 362880

## Python program to find factorial of a number using Recursion :

```def fact(num):

if (num==1 or num==0):

return 1
else:
return num * fact(num - 1)

n = int(input("Enter number to Find Factorial: "))

factorial=fact(n)

print("Factorial of",n,"is",factorial)```

## Output :

```Enter number to Find Factorial: 9
Factorial of 9 is 362880```

## Explanation :

n = int(input(“Enter number to Find Factorial: “))

Get user input and store it in variable n.

factorial=fact(n)

Call factorial function with user input as argument and store it in variable factorial.

`````` def fact(num):

if (num==1 or num==0):

return 1
else:
return num * fact(num - 1)``````

Here definition of fact function, first we check if user input is 1 or 0 . If so return 1. If user input is other than 1 or 0 then call recursion function fact(num -1).

print(“Factorial of”,n,”is”,factorial)

At last print the factorial of user input number.

## Program to find factorial in python using for Loop :

```num = int(input("Enter number for factorial : "))

fact = 1

if num < 0:

print("No  factorial for negative numbers")

elif num == 0:

print("The factorial of 0 is 1")

else:

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

fact = fact*i

print("The factorial of",num,"is",fact)

```

## Python program to find factorial using While Loop :

```number = int(input(" Enter a Number to find factorial : "))
fact = 1
num = number
if number <0:
print("No factorial for negative number")
else:
while( number > 0):
fact = fact * number
number = number - 1

print("The factorial of %d  = %d" %(num, fact))```

## Output :

``` Enter a Number to find factorial : 5
The factorial of 5  = 120```

## Factorial using math function in Python:

```import math

def factorial(n):

return(math.factorial(n))

number = int(input("Enter number to find Factorial: "))

print("Factorial of", number, "is",factorial(number))```