Os ciclos while podem ter condições que estão sempre satisfeitas. Esses programas resultarão num ciclo infinito e irão executar-se para sempre. Um bom exemplo desse tipo de programa é while True:
while True:
print('Welcome to an infinite loop!')
Este programa irá executar-se para sempre e irá imprimir Welcome to an infinite loop! até ser interrompido pelo utilizador.
Os ciclos while podem ser usados para ler dados até que certa condição seja satisfeita. Por exemplo, podemos ler os dados da entrada enquanto a entrada não for 0. Assim que o utilizador introduzir um 0 e pressionar Enter, o ciclo while deverá terminar. Isto pode ser implementado da seguinte forma:
num = -1
while num != 0:
num = int(input())
print(f'The user entered: {num}')
print('End!')
Este programa irá ler a entrada enquanto o utilizador não introduzir 0 e, assim que o fizer, sairá do ciclo e imprimirá End!.
Podemos até ler o num antecipadamente e depois iniciar o ciclo:
num = int(input())
while num != 0:
print(f'The user entered: {num}')
num = int(input())
print('End!')
Desta forma, o programa não irá imprimir o último 0, pois sairá do ciclo antes disso.
Podes experimentar tu próprio e explorar estas duas abordagens.
Desafio
Escreve um programa que lê a entrada até encontrar a palavra End e imprime o texto introduzido na saída. Assim que o programa encontrar a palavra End, deve parar. O programa não deve imprimir o End final da entrada.