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.
total = 0— creamos el acumulador ANTES del bucle. Este paso es imprescindible: sitotalno existe todavía, la primera suma fallaría, y si lo declaras dentro del bucle se reiniciaría en cada vuelta.for i in range(1, n + 1)— recorre los valores1hastan(el+ 1incluye el propion).total += i— en cada vuelta añade el término actual al acumulado.total += ies la forma corta detotal = total + i: coge lo que ya llevabas y le sumas el nuevo valor.print(f"Suma = {total}")— al salir del bucle,totalcontiene 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.