¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Cómo calcular el factorial de un número en Python (Explicación paso a paso + ejemplo)

Cómo calcular el factorial de un número en Python (Explicación paso a paso + ejemplo)

Anuncios
Publicidad

Calcular el factorial de un número en Python es uno de los ejercicios más comunes para quienes están comenzando a programar. Este concepto aparece tanto en matemáticas como en programación, y es perfecto para entender bucles, acumuladores y retorno de valores.

En este artículo veremos cómo funciona un factorial, analizaremos un código real paso a paso y veremos qué está ocurriendo dentro del bucle for.


¿Qué es el factorial de un número?

El factorial de un número n (representado como n!) es el resultado de multiplicar todos los números enteros positivos desde 1 hasta n.

Ejemplos:

  • 3! = 1 × 2 × 3 = 6
  • 5! = 1 × 2 × 3 × 4 × 5 = 120

Código en Python para calcular el factorial

Este es el código base:

# Calcular el factorial de un número

def factorial(n):
    acumulador = 1

    for i in range(1, n+1):
        acumulador = acumulador * i
    return acumulador

print(factorial(5))

Explicación paso a paso del algoritmo

A continuación se detalla qué ocurre exactamente cuando ejecutamos factorial(5):

El argumento de entrada

n vale 5 porque estamos llamando a la función con ese valor.

Inicializamos un acumulador

Creamos una variable llamada acumulador, que empieza valiendo:

acumulador = 1

Se utiliza para ir guardando el resultado parcial de las multiplicaciones.

Bucle for desde 1 hasta n

Usamos:

for i in range(1, n+1):

Gracias al n+1, el bucle llega hasta 5, incluidos todos los valores intermedios.

Operación principal

En cada vuelta multiplicamos el valor del acumulador por el valor actual de i.

Así funciona el proceso:

  • i = 1 → 1 × 1 = 1
  • i = 2 → 1 × 2 = 2
  • i = 3 → 2 × 3 = 6
  • i = 4 → 6 × 4 = 24
  • i = 5 → 24 × 5 = 120

Fin del bucle y retorno

Cuando ya hemos multiplicado todos los números del 1 al 5:

return acumulador

El resultado final es 120, que corresponde a 5!.


Tabla de iteraciones del bucle

Iteracióni valeCálculoNuevo acumulador
11 × 11
21 × 22
32 × 36
46 × 424
524 × 5120

Al terminar, el acumulador contiene: 120


FAQ sobre el cálculo del factorial en Python

¿Qué es exactamente el factorial?

Es una operación matemática que multiplica todos los números enteros positivos desde 1 hasta n. Muy usada en combinatoria, matemáticas y programación.

¿Puedo calcular factoriales más grandes?

Sí. Python maneja enteros grandes sin limitarte, aunque cuanto mayor sea n, más tardará.

¿Qué pasa si pongo n = 0?

Según la definición matemática:
0! = 1
Puedes adaptar la función para contemplarlo.

¿Se puede hacer con recursividad?

Sí, también existe una versión recursiva:
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)

¿Cuánto sabes del factorial? Pon a prueba tus conocimientos

1 / 5

En el cálculo del factorial de 5, ¿qué valor toma el acumulador cuando i = 3?

2 / 5

¿Por qué se usa range(1, n+1) en el cálculo del factorial?

3 / 5

¿Qué hace el acumulador dentro del bucle for en la función factorial?

4 / 5

¿Cuál es el resultado de calcular 5!?

5 / 5

¿Qué representa el factorial de un número n?

Tu puntación es

La puntuación media es 0%

0%

Te pueden interesar:

Seguir leyendo:

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja un comentario

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
error: Content is protected !!
Scroll al inicio