Table of Contents
Cómo calcular el factorial de un número en Python (Explicación paso a paso + ejemplo)
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ón | i vale | Cálculo | Nuevo acumulador |
|---|---|---|---|
| 1ª | 1 | 1 × 1 | 1 |
| 2ª | 2 | 1 × 2 | 2 |
| 3ª | 3 | 2 × 3 | 6 |
| 4ª | 4 | 6 × 4 | 24 |
| 5ª | 5 | 24 × 5 | 120 |
Al terminar, el acumulador contiene: 120
FAQ sobre el cálculo del factorial en Python
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.
Sí. Python maneja enteros grandes sin limitarte, aunque cuanto mayor sea n, más tardará.
Según la definición matemática:
0! = 1
Puedes adaptar la función para contemplarlo.
Sí, también existe una versión recursiva:def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)
Te pueden interesar:
- Cómo pasar datos a una clase en Python: 2 métodos explicados con ejemplos
- Modo IA invade el buscador: ahora la búsqueda conversacional es la prioridad
- Crear un Dump, Restaurar una Base de Datos y Usar Binlogs en MySQL
Seguir leyendo:




