Hola platzinauta, bienvenido a este blog, hoy te mostraremos como podemos realizar una función recursiva (que se llama a si misma) en Python utilizando el factorial de un número. Primero vamos a explicarte que es un factorial en matemáticas, el factorial de un número entero no negativo n, denotado como n!, es el producto de todos los números enteros positivos desde 1 hasta n. Es decir,
n! = n * (n-1) * (n-2) * … * 2 * 1.
Para poder poder calcular lo anterior mencionado realizaremos los siguientes pasos:
PRIMERO: Almacenaremos en una variable el número ingresado por el usuario
num = input("Ingresa el número a calcular ===> ")
SEGUNDO: Definiremos una función llamada factorial esta contendrá una variable la cual servirá para recibir el número del cual queremos el calculo factorial
deffactorial(n):
TERCERO: Vamos a utilizar una instrucción condicional llamada if la cual servirá para evaluar, en caso el valor ingresado sea 0 pues su resultado factorial será 1
deffactorial(n):if n == 0:
return1
CUARTO: Si en el caso el valor ingresado es diferente a 1 el número se multiplicara por el número - 1 sucesivamente, para ello la variable n se multiplicara por la función factorial llamandose a si misma pero se enviara un valor reducido en 1.
deffactorial(n):if n == 0:
return1else:
return n * factorial(n-1)
QUINTO: Como penúltimo paso llamaremos a la función factorial enviándole el datos ingresado y convertido a entero, ya que el método input recepciona por defecto cualquier carácter ingresado como String. A su vez el resultado de la función se almacenara en una variable llamada res.
res = factorial(int(num))
SEXTO: Como ultimo paso se imprimirá el valor obtenido.
print(f"El factorial del numero {num} será igual a {res}")
El código completo será el siguiente
num = input("Ingresa el número a calcular ===> ")
deffactorial(n):if n == 0:
return1else:
return n * factorial(n-1)
res = factorial(int(num))
print(f"El factorial del numero {num} sera igual a {res}")
Como verán una función recursiva permite llamarse a si misma las veces que sea necesario para resolver un problema. Ahora te toca a ti prueba el código, y crea nuevas funciones que permitan resolver un problema usando la recursividad. Espero que el tutorial te haya servido y no lo olvides ¡Nunca pares de aprender!
Hasta luego