1
resposta

13 Validação de entrada para login

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oii, Patricia.

Criar um sistema de validação que força o usuário a repetir uma ação até que ela esteja correta é uma aplicação clássica e muito útil do laço while. Você utilizou uma estratégia de "loop infinito controlado", que é excelente para garantir que os dados de entrada sigam as regras do seu programa.

O Laço while True e o break

Ao iniciar com while True:, você cria um laço que nunca terminaria sozinho.

  • O papel do break: Ele é a única saída. No seu código, ele só é executado (linha 11) se o usuário passar por todas as validações sem cair nos blocos if ou elif.
  • Fluxo de repetição: Se o nome for curto ou a senha for inválida, o programa exibe o erro e volta automaticamente para o input da linha 2, sem passar pelo break.

Validação com len()

A função len() é fundamental aqui. Ela conta quantos caracteres existem em uma string (texto).

  1. len(nome) < 5: Garante que o nome não seja curto demais.
  2. len(senha) < 8: Garante uma segurança mínima para a senha.

Estrutura Condicional: if, elif e else

Você organizou as verificações em uma ordem lógica:

  • if: Verifica o primeiro critério (nome). Se falhar, o restante do bloco é ignorado e o laço recomeça.
  • elif: Só é testado se o nome estiver correto. É uma segunda barreira.
  • else: É o "porto seguro". Se o código chegar aqui, significa que todas as regras foram obedecidas.

Análise do terminal

No terminal, é possível notar que o código se comporta exatamente como planejado. Ele solicita as informações e, assim que os critérios são atendidos (como na última tentativa visível na imagem), ele imprime a mensagem de sucesso e encerra a execução, liberando o terminal para o próximo comando do sistema.

Dica de Expansão:

Como você já domina a contagem de caracteres, uma próxima etapa interessante seria validar se a senha contém números ou caracteres especiais.

Você sente que a estrutura if/elif é mais clara para esse tipo de validação do que usar vários if separados?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!