Escribiendo el programa factorial en Python

Writing Factorial Program Python



El factorial de un número es el número que obtienes después de multiplicar todos los números del 1 por ese número. El factorial de un número se indica con el símbolo '!'. Por ejemplo, si queremos encontrar el factorial de 4, denotado 4 !, entonces el resultado sería 1x2x3x4 = 24. Hay muchas formas de encontrar el factorial de un número. El factorial se puede determinar en Python usando la función incorporada para funciones recursivas y de bucle. Este tutorial muestra cómo se puede determinar el factorial de un número usando varias funciones de Python.

Ejemplo 1: Encuentra el factorial de un número usando la función incorporada

Python tiene una función incorporada llamada factorial() bajo la Matemáticas módulo. La siguiente secuencia de comandos calcula el factorial de cualquier número utilizando una función factorial() función. En este script, se tomará como entrada cualquier número entero válido, y la función calculará el valor factorial de ese número e imprimirá el valor factorial del número de entrada.







#! / usr / bin / env python3
# Importar módulo matemático
importar Matemáticas
# Toma cualquier valor numérico
norte= En t(aporte('Ingrese cualquier número:'))
# Descubre el factorial
hecho= Matemáticas.factorial(norte)
# Imprime el resultado del factorial
impresión('El factorial de% d es% d'%(norte,hecho))

Producción



Después de ejecutar el script, se da 3 como número de entrada y se imprime la salida de 3 !, 6.







Ejemplo 2: Encuentra el factorial de un número usando el bucle

La siguiente secuencia de comandos muestra cómo puede calcular el factorial de cualquier número sin usar ninguna función incorporada en Python. Aquí el por El bucle se usa para calcular el factorial de un número. Cualquier valor entero de entrada se tomará y almacenará como la variable denominada norte . Una variable llamada hecho se utiliza para almacenar el resultado factorial y se inicializa a 1 antes de entrar en el ciclo. Si el valor de norte es más de uno o igual a uno, entonces el ciclo iterará de 1 an + 1 veces y calculará el valor factorial. De lo contrario, el ciclo comprobará si el valor de n es igual a 0 o negativo. Si el valor de n es 0, entonces el resultado factorial será 1; y si el valor de n es un número entero negativo, se imprimirá un mensaje de error.

#! / usr / bin / env python3

# Tome un valor numérico y guárdelo en n
norte= En t(aporte('Ingrese cualquier número:'))
# Inicializar la variable
hecho= 1
# Averigua el factorial si el número de entrada es mayor que 0
sinorte>= 1:
# Itere el ciclo para multiplicar los números dentro de 1 an
porIen distancia (1,n +1):
hecho=hecho * yo
# Imprime el resultado fcatorial
impresión('El factorial de% d es% d.'%(norte,hecho))
demás:
sinorte== 0:
# Imprime el resultado de 0!
impresión('El factorial de',norte, ' es ')
demás:
# Imprime el mensaje de error
impresión('Tienes que ingresar cualquier número positivo')

Producción



El script se ejecuta tres veces, según la siguiente captura de pantalla. El script se ejecuta para los valores de entrada 1, 6 y -8. Las salidas se muestran según los valores de entrada.

Ejemplo 3: Encuentra el factorial de un número usando la función recursiva

La función que se llama a sí misma durante la ejecución de la función se denomina función recursiva. El siguiente script muestra la forma de calcular el factorial de cualquier número entero usando una función recursiva. Después de tomar el número entero como entrada, la función recursiva factorial_resursive() será llamado, con el valor de entrada como argumento. Si el valor de entrada es 0 o 1, se devolverá 1. Si el valor de entrada es negativo, se devolverá el valor del argumento. Si el valor de entrada es mayor que 1, entonces la función se llamará a sí misma restando el argumento por 1 una y otra vez hasta que calcule el resultado del factorial.

#! / usr / bin / env python3
# Toma un valor numérico
número= En t(aporte('Ingrese cualquier número:'))
# Definir la función recursiva para calcular el factorial
deffactorial_recursive(norte):
# Almacena el resultado factorial de 0 y 1
sinorte== 0 onorte== 1:
resultado= 1
# Almacene el número de entrada para el valor negativo
elifnorte< 1:
resultado=norte
# Encuentra el resultado factorial de forma recursiva
demás:
resultado=n * factorial_recursive(norte-1)
# Devuelve el resultado
regresoresultado
# Llamar a la función
hecho=factorial_recursive(número)
# Imprime el resultado para un número positivo
sihecho>= 0:
impresión('El factorial de% d es% d.'%(número,hecho))
demás:
# Imprime el mensaje para el número negativo
impresión('Tienes que ingresar cualquier número positivo')

Producción

En la siguiente captura de pantalla, el script se ejecuta tres veces con los valores 1, -5 y 8.

Ejemplo 4: encontrar el factorial de un número con manejo de excepciones

Los tres guiones anteriores solo verifican si el número es positivo o negativo. El siguiente script calcula el factorial a través de una función factorial () incorporada con manejo de excepciones. Si el usuario proporciona una entrada sin un valor entero, se generará una excepción y se imprimirá un mensaje de error.

#! / usr / bin / env python3
# Importar módulo matemático
importar Matemáticas
# Desafía el bloque try
tratar:
# Toma un valor numérico
norte= En t(aporte('Ingrese cualquier número:'))
sinorte>= 0:
# Descubre el factorial
hecho= Matemáticas.factorial(norte)
# Imprime el resultado del factorial
impresión('El factorial de% d es% d'%(norte,hecho))
demás:
# Genere una excepción si el número es negativo
aumentar Excepción('Tienes que ingresar cualquier número positivo')
# imprime el mensaje de error para la entrada fraccionada
excepto ValueError:
impresión('Tienes que ingresar un número entero')
# Imprimir mensaje de error para entrada negativa
excepto Excepción comoY:
impresión('Error:% s'%Y)

Producción

El script se ejecuta tres veces con los valores h, -3 y 7 en la siguiente captura de pantalla. Aquí, la excepción se genera para el valor 'h'.

Conclusión

Este tutorial muestra algunas de las diferentes formas en que puede calcular el valor factorial de un número en Python. El concepto del factorial de un número y los métodos basados ​​en Python para calcular el factorial deben quedar claros para el lector después de leer este tutorial.