Ejercicio 02 — Pide N e imprime la suma acumulada de 1 + 2 + ..

Dificultad: verde · Módulo 03 (Bucles)

Enunciado

Pide N e imprime la suma acumulada de 1 + 2 + … + N

Cómo se resuelve

Sumar 1 + 2 + … + N introduce el patrón del acumulador: una variable que arranca en cero y va creciendo dentro del bucle.

  1. total = 0 — creamos el acumulador ANTES del bucle. Este paso es imprescindible: si total no existe todavía, la primera suma fallaría, y si lo declaras dentro del bucle se reiniciaría en cada vuelta.
  2. for i in range(1, n + 1) — recorre los valores 1 hasta n (el + 1 incluye el propio n).
  3. total += i — en cada vuelta añade el término actual al acumulado. total += i es la forma corta de total = total + i: coge lo que ya llevabas y le sumas el nuevo valor.
  4. print(f"Suma = {total}") — al salir del bucle, total contiene la suma completa; la f-string lo inserta en el mensaje.

Es el mismo patrón que en C (total = 0; fuera, total += i; dentro); lo que cambia es que aquí el contador i lo aporta range(), no lo llevas tú.

Trampa habitual: poner total = 0 dentro del bucle. Se pondría a cero en cada iteración y el resultado sería siempre el último número, no la suma.

Para practicar — cópialo y complétalo

Pega este esqueleto y completa los TODO. Es la mejor forma de aprender: inténtalo antes de mirar la solución.

# Curso de Python — Modulo 03: Bucles
# Ejercicio 02 — PRACTICA (rellena los TODO)
# Enunciado: Pide N e imprime la suma acumulada de 1 + 2 + ... + N
# Dificultad: verde
# Ejecutar: python3 ej02_practica.py
 
# TODO 1: Lee N desde teclado y conviertelo a entero.
n = None  # reemplaza esto
 
# TODO 2: Crea una variable acumuladora inicializada a 0.
total = None  # reemplaza esto
 
# TODO 3: Recorre los numeros del 1 al N y suma cada uno a total.
for i in range(0):  # ajusta los argumentos
    pass  # TODO: acumula i en total
 
# TODO 4: Imprime el resultado con formato "Suma = <valor>".
#         Pista: usa una f-string.

Solución — cópiala y ejecútala

# Curso de Python — Modulo 03: Bucles
# Ejercicio 02 — MODELO (resuelto)
# Enunciado: Pide N e imprime la suma acumulada de 1 + 2 + ... + N
# Dificultad: verde
# Ejecutar: python3 ej02_modelo.py
 
n = int(input("Introduce N: "))
 
total = 0
for i in range(1, n + 1):
    total += i  # acumula cada termino
 
print(f"Suma = {total}")

Cómo usarlo

Pega el código en un fichero y ejecútalo con tu toolchain habitual (o el botón de Ejecutar de tu editor). Antes de mirar la solución, intenta completar tú el esqueleto: es la mejor forma de aprender.

Conexiones