Declaraciones WHILE
WHILE es un tipo de bucle que funciona de manera muy similar al bucle FOR, con la excepción de que en lugar de recorrer elementos de un conjunto, lo hará según una condición impuesta por el programador. Vamos a ver como es su sintaxis:
x = 0
while x < 5:
print (f"El valor de x es: {x}")
x = x + 1
Se puede ver cómo el bucle termina antes al cumplirse la condición, evitando la ejecución del código en su interior.
Continue y break:
Algo interesante con los bucles, es que podemos ignorar o terminar su ejecución gracias a dos flags llamadas “continue” y “break”.
Con continue el bucle será ignorado, finalizando la vuelta y comenzando la siguiente:
programas_de_codigo_abierto = ['Thunar','Firefox','Filezilla','Alacritty','Vim','Telegram','LibreOffice Writer','Transmission','Thunderbird']
for item in programas_de_codigo_abierto:
if (item[0] != 'T'):
continue
print (item)
En el código anterior, el bucle recorrerá a todos los elementos de la lista, si el elemento no comienza con la letra “T” ignorará el bucle y conituará con el siguiente ciclo. En caso de que sí comience con la letra “T”, imprimirá el elemento.
A veces podemos necesitar crear un bucle infinito que sea interrumpido sólo bajo cierta condición controlada por el usuario.
puntero = 1
while puntero > 0:
print (f"Ciclo número {puntero}.")
decision = input ("¿Desea continuar con el siguiente ciclo?(S/n): ")
if (decision == "S" or decision == "s"):
print ("\nContinuando ejecución...")
elif (decision == "N" or decision == "n"):
print ("\nEjecución terminada.")
break
else:
print ("¡Respuesta incorrecta!")
continue
puntero = puntero + 1
En este caso, el programa cuenta con un “contador” que incrementará de valor vuelta a vuelta y le preguntará al usuario si desea continuar. En caso de que el usuario decida continuar, el programa seguirá con su ejecución normal y avanzará al siguiente ciclo, aumentando el valor del contador en 1. Si el usuario decide no continuar, el bucle terminará en ese instante (break) y finalizará la ejecución del script y en caso de ingresar una opción no permitida, el programa dará aviso y continuará al siguiente ciclo ignorando el resto del código dentro del bucle.