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
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.
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!