Example 1: Find the factorial of a number using the built-in function
Python has a built-in function named factorial() under the math module. The following script calculates the factorial of any number using a built-in factorial() function. In this script, any valid integer number will be taken as the input, and the function will calculate the factorial value of that number and print the factorial value of the input number.
# Import math module
import math
# Take any number values
n = int(input("Enter any number: "))
# Find out the factorial
fact = math.factorial(n)
# Print the result of the factorial
print("The factorial of %d is %d" %(n,fact))
Output
After running the script, 3 is given as input number and the output of 3!, 6, is printed.
Example 2: Find the factorial of a number using the loop
The following script shows how you can calculate the factorial of any number without using any built-in function in Python. Here, the for loop is used to calculate the factorial of a number. Any input integer value will be taken and stored as the variable named n. A variable named fact is used to store the factorial result and is initialized to 1 before entering into the loop. If the value of n is more than one or equal to one, then the loop will iterate for 1 to n+1 times and will calculate the factorial value. Otherwise, the loop will check if the value of n is equal to 0 or negative. If the value of n is 0, then the factorial result will be 1; and if the value of n is a negative integer, then an error message will be printed.
# Take a numeric value and store in n
n = int(input("Enter any number: "))
# Initialize the variable
fact = 1
# Find out the factorial if the input number is more than 0
if n >= 1:
# Iterate the loop to multiple the numbers within 1 to n
for i in range (1,n+1):
fact = fact * i
# Print the fcatorial result
print("The factorial of %d is %d." %(n,fact))
else:
if n == 0:
# Print the result of 0!
print("The factorial of ", n , " is ")
else:
# Print the error message
print("You have to enter any positive number")
Output
The script is executed three times, according to the following screenshot. The script is executed for the input values 1, 6, and -8. The outputs are shown according to the input values.
Example 3: Find the factorial of a number using the recursive function
The function that calls itself during execution of the function is called the recursive function. The following script shows the way to calculate the factorial of any integer number using a recursive function. After taking the integer number as the input, the recursive function factorial_resursive() will be called, with the input value as an argument. If the input value is 0 or 1, then 1 will be returned. If the input value is negative, then the argument value will be returned. If the input value is more than 1, then the function will call itself by subtracting the argument by 1 again and again until it calculates the result of the factorial.
# Take a numeric value
number = int(input("Enter any number: "))
# Define the recursive function to calculate the factorial
def factorial_recursive(n):
# Store the factorial result of 0 and 1
if n == 0 or n == 1:
result = 1
# Store the input number for negetive value
elif n < 1:
result = n
# Find the factorial result in recursive way
else:
result = n*factorial_recursive(n-1)
# Return the result
return result
# Call the function
fact = factorial_recursive(number)
# Print the result for positive number
if fact >= 0:
print("The factorial of %d is %d." %(number,fact))
else:
# Print the message for negative number
print("You have to enter any positive number")
Output
In the following screenshot, the script is executed three times with the values 1, -5, and 8.
Example 4: Find the factorial of a number with exception handling
The above three scripts only check whether the number is positive or negative. The following script calculates the factorial via a built-in factorial() function with exception handling. If the user gives any input without an integer value, then an exception will be generated, and an error message will be printed.
# Import math module
import math
# Defie the try block
try:
# Take a numeric value
n = int(input("Enter any number: "))
if n >= 0 :
# Find out the factorial
fact = math.factorial(n)
# Print the result of the factorial
print("The factorial of %d is %d" %(n,fact))
else:
# Raise exception if the number is negative
raise Exception("You have to enter any positive number")
# print the error message for fractional input
except ValueError:
print("You have to enter integer number")
# Print error message for negative input
except Exception as e:
print('Error:%s' %e)
Output
The script is executed three times with the values h, -3, and 7 in the following screenshot. Here, the exception is generated for the value, ‘h.’
Conclusion
This tutorial shows some of the different ways you can calculate the factorial value of a number in Python. The concept of the factorial of a number and Python-based methods for calculating the factorial should be clear to the reader after reading this tutorial.
from Linux Hint https://ift.tt/30pu535
0 Comments