Validar entrada com while
Sempre que você precisar garantir que o usuário digite algo dentro de um intervalo ou formato específico, o while é a ferramenta certa. Em sistemas reais, como cadastro de idade ou avaliação de satisfação, rejeitar entradas inválidas e pedir novamente evita dados inconsistentes e quebras silenciosas. Dominar essa estrutura poupa linhas de código e torna seu programa mais robusto.
O PROBLEMA
Peça uma nota entre 0 e 10. Se inválida, peça novamente até receber um valor válido. Exiba a nota confirmada.
EXEMPLO
Entrada: -1 (inválido), 11 (inválido), 7.5 Saída: Nota válida: 7.5
SOBRE O CONCEITO
O while repete um bloco enquanto uma condição for verdadeira. Aqui, queremos que o programa só pare quando a nota estiver entre 0 e 10. O erro comum é inverter a condição, por exemplo while nota >= 0 and nota <= 10, que faz o loop rodar enquanto a nota for válida, parando justamente quando chegar o valor inválido. Outro erro é não atualizar a variável nota dentro do loop, resultando em loop infinito. Para corrigir, a condição deve ser while nota < 0 or nota > 10 (inverte o intervalo) e, dentro do bloco, usar nota = float(input(...)) para solicitar novamente. Assim, só sairá do laço quando a nota for válida.
RESOLUÇÃO