1
resposta

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

Consegui chegar no mesmo resultado, porém com um código um tanto quando repetitivo usando o dois while:

usuario = input('Digite seu nome de usuário: ')
senha  = input('Digite sua senha: ')

while len(usuario) < 5:
  print('O nome de usuário deve ter pelo menos 5 caracteres.')
  usuario = input('Digite seu nome de usuário: ')
  senha  = input('Digite sua senha: ')
while len(senha) < 8:
  print('A senha deve ter pelo menos 8 caracteres.')
  usuario = input('Digite seu nome de usuário: ')
  senha  = input('Digite sua senha: ')
print('Cadastro realizado com sucesso!')

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

Porém estudei o gabarito do instrutor, em que usou o laço com True, continue e break. Achei muito bacana e mais dinâmico!

while True:
    nome_usuario = input("Digite seu nome de usuário: ")
    senha = input("Digite sua senha: ")

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

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

    print("Cadastro realizado com sucesso!")
    break

Vou aplicar em futuros códigos!

1 resposta

Oi Arthur, tudo bem? 😊

É ótimo ver seu progresso e sua curiosidade em relação aos laços de repetição em Python.

Você conseguiu resolver o problema de validação de entrada, o que é excelente! 👏

A sua solução inicial funciona, mas a do instrutor é mais elegante e eficiente. 💪

Usar while True, continue e break é uma prática comum para controlar o fluxo de um loop de forma mais clara.

O continue pula para a próxima iteração do loop, e o break sai do loop completamente.

Isso torna o código mais legível e fácil de manter.

Continue praticando e experimentando diferentes abordagens.

Isso vai te ajudar a aprimorar suas habilidades de programação.

🎓 Para saber mais: