Cómo encontrar factorial en Python [con ejemplos de codificación]
Publicado: 2020-11-30Tabla de contenido
Introducción
Cada uno de nosotros debe estar familiarizado con la palabra factorial, ya que todos la conocimos en nuestra escuela primaria en Matemáticas. Factorial es el producto de todos los números enteros positivos a partir de uno al número dado. El factorial solo se calcula para valores positivos y no se puede calcular para los tipos Negativo y Flotante.
Me preguntaba cuándo estaba aprendiendo factorial y otros conceptos matemáticos, dónde los usaría en mi vida real, gracias a Data Science, ya que pude comprender ahora la importancia de todos los componentes matemáticos, como Álgebra lineal, Probabilidad, Estadística.
Veamos la importancia del Factorial, diferentes formas de calcularlo usando python en este artículo.
Importancia
Tomemos un ejemplo de que tenemos una carrera entre 10 autos en un evento de carrera mundial, y tenemos un enunciado del problema para averiguar de cuántas maneras esos 10 autos llegan primero, segundo, tercero. Como solo hay 10 autos, nos gustaría tomar un papel y escribir las distintas combinaciones. Pero, ¿qué pasa si tenemos 100 autos o más eventos y tenemos el mismo o similar tipo de enunciado del problema en eso?
Para abordar este tipo de situaciones, tenemos algo llamado Permutación . Supongo que conocerá este término como permutaciones y combinaciones en nuestra escuela primaria. Estos son muy necesarios si desea mejorar sus habilidades estadísticas y de análisis de datos. Si es un principiante y está interesado en obtener más información sobre la ciencia de datos, consulte nuestros cursos de ciencia de datos de las mejores universidades. Esto ayuda a resolver el enunciado del problema como se indica a continuación.
Solución
Tenemos un total de 10 coches.
Necesitamos encontrar la posibilidad de 3 ganadores de 10.
10! / (10-3)! = 10! / 7! = 720
Entonces, tenemos un total de 720 posibilidades para que estos 10 autos lleguen primero, segundo y tercero en el evento de carrera.
Implementación de Python
Python es un lenguaje de programación de alto nivel, interpretado y de propósito general que se enfoca en la legibilidad del código y la sintaxis utilizada en Python Language ayuda a los programadores a completar la codificación en menos pasos en comparación con Java o C++ y está construido sobre C.
El lenguaje fue fundado en 1991 por el desarrollador Guido Van Rossum . Python se usa ampliamente en organizaciones más grandes porque principalmente en varios casos de uso de inteligencia artificial, como visión artificial, procesamiento de lenguaje natural, aprendizaje profundo, reconocimiento de voz, reconocimiento facial, reconocimiento de voz.
Python es una herramienta de programación muy poderosa y se puede usar para una amplia variedad de casos de uso en la vida real. Ofrece una función directa que puede calcular el factorial de un número dado sin escribir el código explícitamente. Pero comencemos con un enfoque ingenuo y finalmente conozcamos esa función.
Lea también: ¿Por qué Python es tan popular entre los desarrolladores?
En bucle
Podemos calcular el factorial de un número iterando desde el número 1 hasta el número dado multiplicando en cada paso. Pasemos a la parte de codificación del enfoque discutido anteriormente.
Código
número = entrada ("Ingrese un número:") # Idealmente, puede usar cualquier mensaje de impresión
factoriales = 1
if int (número) >=1: # Para verificar si el número dado es positivo o no.
for i in range (1, int(number)+1): # Bucle desde el número 1
factorial = factorial * I # Multiplicación con cada número.
print (“Factorial de “, número,” es: “, factorial) # Imprime el factorial calculado.
Producción
Ejecutar el código anterior le dará el siguiente resultado:
Ingrese un número: 5
Factorial de 5 es: 120
Función recursiva
En este caso, crearemos nuestra propia función definida por el usuario en Python que nos ayudará a calcular el factorial de un número dado.

Código
número = entrada ("Ingrese un número:")
def recursive_factorial(number): # Función recursiva definida por el usuario.
if number == 1: # Condición si el número dado es igual a 1
número de devolución
elif número < 1: # Condición si el número dado es menor que 1
return ("El número dado es menor que uno y no se puede calcular el factorial").
demás:
número de retorno*factorial_recursivo(número – 1)
imprimir (recursive_factorial(int(numero)))
Producción
Ejecutar el código anterior le dará el siguiente resultado:
Introduce un número: 5
120
Introduzca un número: -2
El número dado es menor que uno y no se puede calcular el factorial
Introduce un número: 1
1
Función factorial en Math Package
Python es ampliamente conocido por su facilidad de uso y paquetes de terceros fáciles de usar que simplificarán muchas tareas. En el escenario actual, Python es el lenguaje de referencia para los científicos de datos.
Código
importar matemáticas # Paquete requerido
número = entrada ("Ingrese un número:")
print(“El factorial de “, número,” es: “)
print(math.factorial(int(number))) # Función para calcular el factorial
Producción
Ejecutar el código anterior le dará el siguiente resultado:
Introduce un número: 5
El factorial de 5 es:
120
Ingrese un número: 5.6
Rastreo (llamadas recientes más última):
El factorial de 5.6 es:
Archivo “C:/Users….py”, línea 5, en
imprimir(matemáticas.factorial(int(número)))
ValueError : literal no válido para int() con base 10: '5.6'
Estamos obteniendo un error de valor porque no podemos calcular el factorial del entero flotante. Cuando estamos escribiendo explícitamente el código de Python, debemos tener cuidado de verificar todas las condiciones y generar el mensaje relevante, pero en la función factorial del paquete Math en Python, hace todo por nosotros, lo que nos ayuda a disminuir nuestro código de líneas cuando tenemos uso de Factorial en nuestro Proyecto o cualquier planteamiento de problema.
Debe leer: Tutorial de Python
Conclusión
En este artículo llegamos a conocer la importancia y aplicación del Factorial y otros conceptos matemáticos importantes en la vida real. Pasó por los diferentes tipos de código para calcular el Factorial de un número dado. Este artículo solo cubre el factorial en Python, pero hay muchos otros cálculos matemáticos disponibles en el paquete MATH. Las personas nuevas en Python pueden profundizar en ellos e incluso pueden probar algunos.
Si tiene curiosidad por aprender sobre ciencia de datos, consulte el Programa ejecutivo PG en ciencia de datos de IIIT-B y upGrad, creado para profesionales que trabajan y ofrece más de 10 estudios de casos y proyectos, talleres prácticos, tutoría con expertos de la industria, 1 -on-1 con mentores de la industria, más de 400 horas de aprendizaje y asistencia laboral con las mejores empresas.
¿Qué es la recursividad en Python?
La recursividad en Python significa recorrer los datos para llegar a un resultado definitivo. Es un conocido proceso matemático y de programación en el que algo (un enunciado o una función) se define en términos de sí mismo. Con la ayuda de la recursividad, los usuarios o desarrolladores pueden dividir códigos y funciones complejos en subpartes más pequeñas, y crear una secuencia se vuelve mucho más accesible. Un desarrollador debe tener mucho cuidado al usar la recursividad, ya que es bastante frecuente escribir una función que nunca termina o consume cantidades excesivas de memoria o potencia de la CPU. Cuando se hace correctamente, la recursividad puede ser una forma de programar tremendamente eficiente y matemáticamente innovadora.
¿Cuánto tiempo lleva aprender los conceptos básicos de Python?
Python se considera el lenguaje de programación más simple, por lo que aprender los conceptos básicos de Python es fácil y no requiere mucho tiempo. Los estudiantes o profesionales pueden dedicar de 1 a 2 meses a aprender los conceptos básicos de Python. Un profesional también puede dominar todas las funciones y bibliotecas esenciales de Python en 4-5 meses dedicando alrededor de 2-3 horas todos los días. Comprender Python es fácil ya que la mayoría de los códigos tienen declaraciones menores y hay más funciones predefinidas.
¿Cuál es la complejidad temporal del programa factorial en Python?
Descubrimos del programa factorial que factorial(0) es simplemente una comparación (1 unidad de tiempo) y factorial(n) es una comparación, una multiplicación, una resta y tiempo para factorial (n-1). Entonces podemos decir que T(n) = T(n — 1) + 3 y T(0) = 1. Poniendo valores, encontramos que T(N) es directamente proporcional a n, como se ve en la notación Big-Oh. Como resultado, la complejidad temporal del programa factorial es O(n).