Factorial of a non-negative integer, is multiplication of all integers smaller than or equal to n. For example factorial of 6 is 6*5*4*3*2*1 which is 720.

**1.Recursive : **

1 2 3 4 5 6 7 8 9 10 11 12 13 |
# Python 3 program to find # factorial of given number def factorial(n): # single line to find factorial return 1 if (n==1 or n==0) else n * factorial(n - 1); # Driver Code num = 5; print("Factorial of",num,"is", factorial(num)) |

**2. Iterative:**

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# Python 3 program to find # factorial of given number def factorial(n): if n < 0: return 0 elif n == 0 or n == 1: return 1 else: fact = 1 while(n > 1): fact *= n n -= 1 return fact # Driver Code num = 5; print("Factorial of",num,"is", factorial(num)) |

**3. One line Solution (Using Ternary operator): **

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# Python 3 program to find # factorial of given number def factorial(n): # single line to find factorial return 1 if (n==1 or n==0) else n * factorial(n - 1) # Driver Code num = 5 print ("Factorial of",num,"is", factorial(num)) |

**4. By using In-built function:**

1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# Python 3 program to find # factorial of given number import math def factorial(n): return(math.factorial(n)) # Driver Code num = 5 print("Factorial of", num, "is", factorial(num)) |

**Output:**

1 2 3 |
Factorial of 5 is 120 |