O comando while produz um laço de repetição que vai iterar enquanto uma condição estiver sendo válida, ou até ser interrompido explicitamente.
1while <condição booleana>:
2 <comando1>
3 <comando2>
4 <comando...>
5 <bloco de controle do loop>
De forma geral, enquanto a condição booleana for avaliada como True, o loop vai executar os comandos em sequencia e reiniciar indefinidamente.
Dentro do bloco de comandos dentro do while, é possível interromper o loop com o comando break.
Quando for necessário voltar ao início do loop, usa-se o comando continue.
Exemplo #
1# Perguntar um nome do usuário e repetir
2# indefinidamente caso não seja válido
3while True: # Condição booleana, será sempre True
4 nome = input('Nome?').strip()
5 if not nome:
6 # Se o usuário não informar o nome, o comando continue
7 # mandará a execução para o início do while
8 print('Você deve informar seu nome')
9 continue
10 if len(nome) < 2:
11 # Se o usuário não informar um nome adequado
12 # será enviado novamente para o início do while
13 print('Você deve ter um nome com mais de 1 caracter')
14 continue
15 # Chegando nesse ponto, o nome do usuário estará válido
16 # e o comando break vai interromper o loop do while
17 break
18
19print('Seu nome', nome)