factorial() en Python

No mucha gente lo sabe, pero Python ofrece una función directa que puede calcular el factorial de un número sin escribir todo el código para calcular el factorial.

Método ingenuo para calcular 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)

Producción :

The factorial of 23 is : 25852016738884976640000

Usando matemáticas.factorial()

Este método se define en el módulo » matemáticas » de python. Debido a que tiene una implementación interna de tipo C, es rápido.

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))

Producción :

The factorial of 23 is : 25852016738884976640000

Excepciones en math.factorial()

  • Si el número dado es Negativo:

    # Python code to demonstrate math.factorial()
    # Exceptions ( negative number )
      
    import math
      
    print ("The factorial of -5 is : ",end="")
      
    # raises exception
    print (math.factorial(-5))

    Producción :

    The factorial of -5 is : 
    

    Error de tiempo de ejecución :

    Traceback (most recent call last):
      File "/home/f29a45b132fac802d76b5817dfaeb137.py", line 9, in 
        print (math.factorial(-5))
    ValueError: factorial() not defined for negative values
    
  • Si el número dado es un valor no integral:

    # 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))

    Producción :

    The factorial of 5.6 is : 
    

    Error de tiempo de ejecución :

    Traceback (most recent call last):
      File "/home/3987966b8ca9cbde2904ad47dfdec124.py", line 9, in 
        print (math.factorial(5.6))
    ValueError: factorial() only accepts integral values
    

Este artículo es una contribución de Manjeet Singh . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *