Python Program to Find the Factorial of a Number

To understand this example, you should have the knowledge of the following Python programming topics:


The factorial of a number is the product of all the integers from 1 to that number.

For example, the factorial of 6 is 1*2*3*4*5*6 = 720. Factorial is not defined for negative numbers, and the factorial of zero is one, 0! = 1.

Factorial of a Number using Loop

Output

The factorial of 7 is 5040

Note: To test the program for a different number, change the value of num.

Here, the number whose factorial is to be found is stored in num, and we check if the number is negative, zero or positive using if...elif...else statement. If the number is positive, we use for loop and range() function to calculate the factorial.

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
i = 7 720 * 7 = 5040

Factorial of a Number using Recursion

In the above example, factorial() is a recursive function that calls itself. Here, the function will recursively call itself by decreasing the value of the x.

To learn about the working of recursion, visit Python recursion.