1
resposta

Validação de entrada para login

while True:
    usuario = input("Digite o nome de usuário: ")
    senha = input("Digite a senha: ")

    if len(usuario) >= 5 and len(senha) >= 8:
        print(f"Cadastro realizado com sucesso!")
        break
    else:
        print(f"Dados inválidos. Tente novamente.")
1 resposta

Oi, Eduardo.

O uso do while True é a forma mais comum de criar sistemas de validação que precisam persistir até que o usuário forneça as informações corretas. Ao combinar esse laço com operadores lógicos como o and, você garante que múltiplos requisitos de segurança sejam atendidos simultaneamente.

O seu código está logicamente correto. Uma sugestão para deixá-lo mais amigável é informar exatamente o que está errado. Quando o usuário falha, ele pode não saber se foi o nome ou a senha que não atingiu o tamanho mínimo.

Você poderia expandir a lógica assim:

while True:
    usuario = input("Digite o nome de usuário: ")
    senha = input("Digite a senha: ")

    if len(usuario) < 5:
        print("Erro: O usuário deve ter pelo menos 5 caracteres.")
    elif len(senha) < 8:
        print("Erro: A senha deve ter pelo menos 8 caracteres.")
    else:
        print("Cadastro realizado com sucesso!")
        break

Dessa forma, o programa continua rodando, mas fornece orientações específicas para ajudar o usuário a concluir o cadastro.

Esse tipo de estrutura é a base para quase todos os sistemas de autenticação que usamos na internet. Já pensou em como você adicionaria uma verificação para impedir que a senha seja igual ao nome de usuário?

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