3
respostas

Minha solução para o exercicio

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

3 respostas

Olá Alexandre,

Estou vendo seu código, mas parece que você colocou um while antes do prórpio If Else

Eu fiz uma sugestão de código, veja se faz sentido para você:

while True:
    login = input('Digite o seu login: ')
    senha = input('Digite a sua senha: ')

    if len(login) < 5:
        print('Cadastro inválido! O login deve ter pelo menos 5 caracteres.')
    elif len(senha) < 8:
        print('Cadastro inválido! A senha deve ter pelo menos 8 caracteres.')
    else:
        print('Cadastro realizado com sucesso!')
        break

O que alterei

  • Coloquei todo o input e a verificação dentro de um loop while True para repetir até o cadastro ser válido.

  • A verificação de comprimento do login e da senha foi organizada com if, elif e else.

  • O break agora está no lugar correto, dentro do else, para encerrar o loop somente quando os critérios forem atendidos.

Conclusão

Espero ter ajudado!

Se esse comentário sanou sua dúvida, pode marcá-lo como solução do tópico!

Caso tenha mais dúvidas pode ir mandando!

fala Breno, obrigado pela resposta!

uma duvida.. sempre que eu quiser que o looping se repita até que esteja correto, é só colocar um "while True:" no começo?

desta forma o código entende que ele precisa refazer o loop caso as condições do if, elif e else nao sejam atendidas?

obrigado!

Olá alexandre,

Então o while true gerar um loop infinito, ou seja meu código ficará executando sem parar até que eu quebre ele ou que tenha uma exceção não tratada que o forçe a parar.

Nesse caso, eu usei o while true para manter perguntando informações para o usuário do programa.

E caso as duas condições que você tinha proposto inicialmente (login com mais de 5 caracteres e senha com mais de 8) fosse cumprida ele cai no else do if e então o break faz o código parar.

Espero que tenha ajudado!

Se tiver mais dúvidas pode mandar!

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