Olá, Filipe. Como vai?
Excelente trabalho! Esse projeto de validação de login é uma aplicação prática fundamental, pois demonstra como garantir a integridade e a segurança dos dados logo na entrada do sistema.
Sua solução utiliza muito bem a lógica de controle de estado. Vamos analisar os pontos técnicos de destaque:
1. Controle de Estado com Flags
O uso da variável usuario_valido = False (conhecida como flag) é a maneira correta de gerenciar laços que dependem de múltiplas condições de sucesso. O programa só "abre a porteira" quando todas as suas regras de negócio são satisfeitas no bloco else.
2. Validação de Comprimento com len()
Você aplicou a função len() de forma precisa para medir o tamanho das strings. Essa é a base para criar regras de complexidade de senhas e nomes de usuário em sistemas reais.
3. Hierarquia das Mensagens de Erro
Ao utilizar o if e o elif, você criou uma hierarquia de validação. O programa primeiro checa o usuário e, só se ele estiver correto, passa a validar a senha. Isso ajuda o usuário a corrigir um erro por vez, melhorando a experiência de uso.
Dica de Python:
Assim como no projeto anterior, notei que o texto "Copiar código" acabou ficando dentro do seu script. Lembre-se de limpá-lo para que o interpretador não aponte erros.
Para deixar o código ainda mais direto, você pode escrever o while de forma mais simples:
while not usuario_valido:
# seu código aqui
Em Python, while not False é equivalente a while False == False, mas é lido de forma mais natural, quase como uma frase em inglês.
Com este projeto, você consolidou como prender o fluxo do programa até que o usuário forneça exatamente o que o sistema espera. Continue com essa dedicação!
Espero que possa ter lhe ajudado!