Loops while podem ter condições que são sempre satisfeitas. Esses programas resultarão em um loop infinito e rodarão para sempre. Um bom exemplo desse tipo de programa é while True:
while True:
print('Welcome to an infinite loop!')
Este programa irá rodar para sempre e imprimirá Welcome to an infinite loop! até que seja interrompido pelo usuário.
Loops while podem ser usados para ler dados até que uma condição seja atendida. Por exemplo, podemos ler os dados da entrada enquanto a entrada não for 0. Assim que o usuário digitar um 0 e pressionar enter, o loop while deve terminar. Isso pode ser implementado como:
num = -1
while num != 0:
num = int(input())
print(f'The user entered: {num}')
print('End!')
Este programa irá ler a entrada enquanto o usuário não tiver digitado 0, e assim que o usuário digitar 0, ele sairá do loop e imprimirá End!.
Podemos até ler o num antes e então iniciar o loop:
num = int(input())
while num != 0:
print(f'The user entered: {num}')
num = int(input())
print('End!')
Dessa forma, o programa não irá imprimir o 0 final, pois ele sairá do loop antes disso.
Você pode testar por conta própria e experimentar essas duas maneiras.
Desafio
Escreva um programa que leia a entrada até chegar à palavra End e imprima o texto digitado na saída. Assim que o programa encontrar a palavra End, ele deve parar. O programa não deve imprimir o End final da entrada.