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.
while True e o breakAo iniciar com while True:, você cria um laço que nunca terminaria sozinho.
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.input da linha 2, sem passar pelo break.len()A função len() é fundamental aqui. Ela conta quantos caracteres existem em uma string (texto).
len(nome) < 5: Garante que o nome não seja curto demais.len(senha) < 8: Garante uma segurança mínima para a senha.if, elif e elseVocê 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.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.
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?