¡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)
Anuncios
Publicidad

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ó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 una respuesta

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
error: Content is protected !!
Hablemos de informática
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.