A simple way to write a Python function to calculate the factorial of a number is using an if-else statement and for-loop. Where The factorial of a number is the product of all the integers from 1 to that number.

**Python function to calculate the factorial of a number**

Simple example code get the factorial of 6 is `1*2*3*4*5*6 = 720`

.

**Note**: Factorial is not defined for negative numbers, and the factorial of zero is one, `0! = 1`

.

```
num = 6
# To take input from the user
# num = int(input("Enter a number: "))
factorial = 1
if num < 0:
print("Enter Positive number")
elif num == 0:
print("The factorial of 0 is 1")
else:
for i in range(1, num + 1):
factorial = factorial * i
print("The factorial of", num, "is", factorial)
```

**Output**:

iteration | factorial*i (returned value) |

i = 1 | 1 * 1 = 1 |

i = 2 | 1 * 2 = 2 |

i = 3 | 2 * 3 = 6 |

i = 4 | 6 * 4 = 24 |

i = 5 | 24 * 5 = 120 |

i = 6 | 120 * 6 = 720 |

**Using In-built function:**

The math module has a factorial() function to find factorial of any number.

```
import math
num = 5
res = math.factorial(num)
print("Factorial:", res)
```

**Output**: Factorial: 120

**Recursive method**

```
def factorial(n):
# single line to find factorial
return 1 if (n == 1 or n == 0) else n * factorial(n - 1);
num = 5
print(factorial(num))
```

**Output**: 120

Do comment if you have any doubts or suggestions on this Python factorial program.

Note:IDE: PyCharm 2021.3.3 (Community Edition)Windows 10

Python 3.10.1All

Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.

Degree in Computer Science and Engineer: App Developer and has multiple Programming languages experience. Enthusiasm for technology & like learning technical.