factorial() in Python
Not many people know, but python offers a direct function that can compute the factorial of a number without writing the whole code for computing factorial.
Naive method to compute factorial
# Python code to demonstrate naive method # to compute factorial n = 23 fact = 1 for i in range ( 1 ,n + 1 ): fact = fact * i print ( "The factorial of 23 is : " ,end = "") print (fact) |
Output :
The factorial of 23 is : 25852016738884976640000
Using math.factorial()
This method is defined in “math” module of python. Because it has C type internal implementation, it is fast.
math.factorial(x) Parameters : x : The number whose factorial has to be computed. Return value : Returns the factorial of desired number. Exceptions : Raises Value error if number is negative or non-integral.
# Python code to demonstrate math.factorial() import math print ( "The factorial of 23 is : " , end = "") print (math.factorial( 23 )) |
Output :
The factorial of 23 is : 25852016738884976640000
Exceptions in math.factorial()
- If give number is Negative :
# Python code to demonstrate math.factorial()
# Exceptions ( negative number )
import
math
print
(
"The factorial of -5 is : "
,end
=
"")
# raises exception
print
(math.factorial(
-
5
))
Output :
The factorial of -5 is :
Runtime Error :
Traceback (most recent call last): File "/home/f29a45b132fac802d76b5817dfaeb137.py", line 9, in print (math.factorial(-5)) ValueError: factorial() not defined for negative values
- If given number is Non – Integral Value :
# Python code to demonstrate math.factorial()
# Exceptions ( Non-Integral number )
import
math
print
(
"The factorial of 5.6 is : "
,end
=
"")
# raises exception
print
(math.factorial(
5.6
))
Output :
The factorial of 5.6 is :
Runtime Error :
Traceback (most recent call last): File "/home/3987966b8ca9cbde2904ad47dfdec124.py", line 9, in print (math.factorial(5.6)) ValueError: factorial() only accepts integral values
Last Updated on October 24, 2021 by admin