Lección 5 de 8 30 min

Bucles: for y while para repetir acciones

Si tuvieras que procesar 1.000 registros de clientes, ¿copiarías el mismo código 1.000 veces? Claro que no. Para eso existen los bucles: repetir una acción tantas veces como sea necesario, con una sola definición.

Bucle for: iterar sobre una secuencia

frutas = ["manzana", "pera", "naranja", "kiwi"]

for fruta in frutas:
    print(f"Me gusta la {fruta}")

El bucle for recorre cada elemento de la lista y ejecuta el bloque indentado una vez por elemento. La variable fruta toma el valor de cada elemento en cada vuelta.

range(): repetir N veces

# Imprime los números del 0 al 4
for i in range(5):
    print(i)

# Del 1 al 10
for i in range(1, 11):
    print(i)

# Del 0 al 20, de 2 en 2 (solo pares)
for i in range(0, 21, 2):
    print(i)

range(inicio, fin, paso) — el fin no se incluye.

Bucle while: repetir mientras una condición sea verdadera

intentos = 0
contraseña_correcta = "python123"

while intentos < 3:
    clave = input("Introduce la contraseña: ")
    if clave == contraseña_correcta:
        print("Acceso concedido.")
        break  # sale del bucle inmediatamente
    else:
        intentos += 1
        print(f"Incorrecto. Te quedan {3 - intentos} intentos.")

if intentos == 3:
    print("Cuenta bloqueada.")

break y continue

# break — sale del bucle inmediatamente
for numero in range(10):
    if numero == 5:
        break
    print(numero)  # imprime 0, 1, 2, 3, 4

# continue — salta esta vuelta y sigue con la siguiente
for numero in range(10):
    if numero % 2 == 0:
        continue  # salta los pares
    print(numero)  # imprime 1, 3, 5, 7, 9

Bucles y listas — patrones útiles

numeros = [4, 7, 2, 9, 1, 5, 8, 3]

# Suma de todos
total = 0
for n in numeros:
    total += n
print(f"Suma: {total}")

# Máximo sin usar max()
maximo = numeros[0]
for n in numeros:
    if n > maximo:
        maximo = n
print(f"Máximo: {maximo}")

Ejercicio práctico

Crea tabla_multiplicar.py:

numero = int(input("¿De qué número quieres la tabla? "))

print(f"\nTabla del {numero}:")
for i in range(1, 11):
    print(f"{numero} × {i} = {numero * i}")

Checklist antes de marcar completada

  • Entiendes cuándo usar for (número conocido de repeticiones) vs while (condición).
  • Sabes usar range(inicio, fin, paso).
  • Conoces break y continue y para qué sirven.
  • Has probado la tabla de multiplicar con varios números.

En la siguiente lección aprendes a organizar el código en funciones reutilizables. Con bucles y funciones ya puedes escribir programas que resuelven problemas reales.

📝 Comprueba lo aprendido

Responde estas 4 preguntas y acierta al menos el 60% para desbloquear el botón "Marcar como completada".

1 ¿Cuántas veces se ejecuta el bloque de `for i in range(5)`?

2 ¿Cuál es la diferencia entre `break` y `continue`?

3 ¿Cuándo es mejor usar `while` en vez de `for`?

4 ¿Qué imprime `for i in range(1, 10, 2)`?

Cuando termines, guarda tu avance. Así podrás continuar desde tu panel y desbloquear el certificado al completar el curso.