> lección 11/34 · 14 min

while

Concepto

while repite un bloque mientras una condición siga siendo verdadera. A diferencia de for, no recorre una colección: no sabe de antemano cuántas vueltas va a dar. Sirve cuando la cantidad de repeticiones depende de algo que va cambiando.

Sintaxis
while condicion:
    # se repite mientras sea verdadera

Cómo avanza. Antes de cada vuelta, Python revisa la condición. Si es verdadera, ejecuta el bloque y vuelve a revisar; si es falsa, sigue con lo que viene después del while. Si la condición es falsa desde el principio, el bloque no se ejecuta ni una vez.

contador = 0
while contador < 3:
    contador = contador + 1
# aquí contador vale 3

Cuidado con los ciclos infinitos. Algo dentro del bloque tiene que acercar la condición a ser falsa. Si olvidas actualizar la variable, el while se repite para siempre. En esta plataforma, tu código se detiene a los 10 segundos y te avisa.

# ciclo infinito: saldo nunca cambia
while saldo > 0:
    pagos = pagos + 1

Contar vueltas. Igual que en un for, una variable creada antes del ciclo puede contar cuántas veces se repitió.

saldo = 100000
meses = 0
while saldo > 0:
    saldo = saldo - 30000
    meses = meses + 1
# meses = 4: el último pago deja el saldo en -20000

> tarea Python

Hay stock unidades en bodega y cada pedido se lleva 3. Con un while, despacha pedidos mientras alcance para uno completo: cuenta en pedidos cuántos se despacharon y deja en stock lo que sobra. Tu código se probará con distintos stocks.

Cargando Python… la primera vez puede tardar unos segundos.

Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.

Aprueba las tareas de esta lección para ver el cierre.