Hacer en Python una función para calcular el factorial
Respuestas a la pregunta
def factorial(n):
if n==0:
return 1
else:
return n * factorial(n-1)
n = float(input('Ingrse el número: '))
r = factorial(n)
print('El factorial de este número es ', r)
Respuesta:
Sencillo método para calcular el factorial de un número haciendo uso del concepto de recursividad. Para empezar, diremos que el factorial de un número natural «n» es el resultado del producto de todos los números desde 1 hasta dicho número «n». Así, para efectuar el cálculo del factorial de un número, vamos a emplear una sencilla función a la que daremos el nombre de «factorial», de modo que, partiendo del hecho de que el factorial de 1 y 0 es 1, construiremos nuestra función (a la que daremos el nombre de «factorial») para realizar el cálculo del factorial de 5:
#CALCULANDO EL FACTORIAL DE UN NÚMERO ("n").
#FUNCIÓN PARA CALCULAR EL FACTORIAL.
def factorial(n):
if n==0 or n==1:
resultado=1
elif n>1:
resultado=n*factorial(n-1)
return resultado
#CALCULAMOS EL FACTORIAL DE 5.
fact5=factorial(5)
#VISUALIZAMOS RESULTADO.
print(fact5)
120
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#CALCULANDO EL FACTORIAL DE UN NÚMERO ("n").
#FUNCIÓN PARA CALCULAR EL FACTORIAL.
def factorial(n):
if n==0 or n==1:
resultado=1
elif n>1:
resultado=n*factorial(n-1)
return resultado
#CALCULAMOS EL FACTORIAL DE 5.
fact5=factorial(5)
#VISUALIZAMOS RESULTADO.
print(fact5)
120
Lo que hace esta función, es tomar como argumento un número «n». de modo que si este es 0 o 1 («if n==0 or n==1:») la función devolverá directamente como resultado el número 1 («resultado=1»). Sin embargo si dicho número «n» es mayor que 1 («elif n>1:»), haremos que el resultado («resultado») sea igual al producto de dicho número por el resultado de aplicar la misma función «factorial» por el mismo número menos 1 («resultado=n*factorial(n-1)»).