Kodokon kodokon.com

Bucles: for, while, break y continue

Repites instrucciones con for y while, y controlas tus bucles con range, break y continue.

8 min · 3 preguntas

Abrir esta lección en Kodokon

Un bucle repite un bloque de instrucciones varias veces, sin que tengas que copiarlo de nuevo. El bucle for se repite un número de veces conocido de antemano. Se usa a menudo con range, una función que produce una secuencia de números: range(5) da 0, 1, 2, 3, 4 (empiezas en 0 y el límite final queda excluido). Igual que con if, la línea termina con : y el bloque repetido se indenta con 4 espacios.

PYTHON
for number in range(5):
    print(number)
Muestra los números del 0 al 4, uno por línea.

range también acepta un inicio: range(1, 6) da 1, 2, 3, 4, 5. El bucle while repite su bloque mientras una condición sea verdadera. Lo usas cuando no sabes de antemano cuántas vueltas habrá. Cuidado: el bloque debe hacer evolucionar la condición, de lo contrario el bucle nunca se detiene.

PYTHON
countdown = 3
while countdown > 0:
    print(countdown)
    countdown = countdown - 1
print("Go!")
Muestra 3, 2, 1 y luego "Go!": countdown disminuye en cada vuelta.

Dos palabras clave te permiten controlar un bucle desde dentro: break sale de inmediato del bucle, y continue pasa a la vuelta siguiente sin ejecutar el resto del bloque. En el ejemplo de abajo, % da el resto de una división: number % 2 == 0 prueba por tanto si un número es par.

PYTHON
for number in range(10):
    if number == 5:
        break
    if number % 2 == 0:
        continue
    print(number)
Muestra 1 y luego 3: los números pares se saltan, y el bucle se detiene en 5.

Prueba de conocimientos

Comprueba que has retenido los puntos clave de esta lección.

  1. ¿Cuántas veces se ejecuta el bloque de for i in range(3):?
    • 2 veces
    • 3 veces
    • 4 veces
  2. ¿Qué hace la palabra clave break en un bucle?
    • Pone el bucle en pausa
    • Sale del bucle de inmediato
    • Reinicia el bucle desde el principio
    • Pasa a la vuelta siguiente
  3. ¿Qué ocurre si la condición de un while permanece verdadera para siempre?
    • El bucle nunca se detiene
    • Python corrige el programa automáticamente
    • El bucle se ejecuta una sola vez