1
resposta

[Projeto] 13 - Validação de entrada para login

João está desenvolvendo um sistema de cadastro para um site de leitura. Ele precisa garantir que os usuários insiram um nome de usuário e uma senha válidos. As regras são as seguintes:

O nome de usuário deve ter pelo menos 5 caracteres.
A senha deve ter pelo menos 8 caracteres.
João quer que o sistema continue solicitando as informações até que ambas as condições sejam atendidas. Quando o usuário insere dados válidos, o programa deve exibir a mensagem: "Cadastro realizado com sucesso!".

Crie um programa que implemente essa lógica usando um laço while.

Saída esperada:

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

usuario = ""
senha = ""

while len(usuario) < 5 or len(senha) < 8:
    usuario = input("Digite seu nome de usuário: ")
    senha = input("Digite sua senha: ")

    if len(usuario) < 5:
        print("O nome de usuário deve ter pelo menos 5 caracteres.")

    if len(senha) < 8:
        print("A senha deve ter pelo menos 8 caracteres.")

print("Cadastro realizado com sucesso!")
1 resposta

Olá, Igor! Como vai?

Agradeço por compartilhar.

A sua solução ficou bem construída, usando while com a condição len(usuario) < 5 or len(senha) < 8, o que faz o programa continuar pedindo os dados até que usuário e senha estejam válidos.

Uma dica interessante para o futuro é usar .strip() para remover espaços digitados antes ou depois do texto, evitando que entradas como " igor " sejam contadas com espaços extras.

usuario = input("Digite seu nome de usuario: ").strip()
senha = input("Digite sua senha: ").strip()

Esse código limpa os espaços no começo e no fim das entradas antes de fazer a validação com len(). Continue praticando, sua lógica com laço de repetição está no caminho certo.

Na sua visão, isolar o teste de comprimento de cada campo em verificações sequenciais ajuda a manter o fluxo de cadastro do seu projeto focado em uma única responsabilidade de forma mais organizada?

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