Los bucles while pueden tener condiciones que siempre se cumplen. Esos programas resultarán en un bucle infinito y se ejecutarán para siempre. Un buen ejemplo de este tipo de programa es while True:
while True:
print('Welcome to an infinite loop!')
Este programa se ejecutará indefinidamente y imprimirá Welcome to an infinite loop! hasta que el usuario lo detenga.
Los bucles while pueden utilizarse para leer datos hasta que se cumpla cierta condición. Por ejemplo, podemos leer datos de entrada mientras la entrada no sea 0. Tan pronto como el usuario ingrese un 0 y presione enter, el bucle while debería terminar. Esto puede implementarse así:
num = -1
while num != 0:
num = int(input())
print(f'The user entered: {num}')
print('End!')
Este programa leerá la entrada mientras el usuario no haya ingresado 0, y tan pronto como el usuario ingrese 0, saldrá del bucle y imprimirá End!.
También podemos leer num de antemano y luego iniciar el bucle:
num = int(input())
while num != 0:
print(f'The user entered: {num}')
num = int(input())
print('End!')
De esta manera, el programa no imprimirá el 0 final, ya que saldrá del bucle antes de eso.
Puedes probarlo tú mismo para experimentar con estas dos formas.
Desafío
Escribe un programa que lea la entrada hasta alcanzar la palabra End y que imprima el texto ingresado en la salida. Tan pronto como el programa encuentre la palabra End, debería detenerse. El programa no debe imprimir el End final de la entrada.