Ola Rafaela.
Estou vendo que já domina python!
Seu código está correto e muito bem estruturado.
Trabalhar com while pode ser arriscado por causa do risco de loop infinito.(não no seu caso).
Outra alternativa muito utilizada é o recursão!
Exemplo:
def solicitar_usuario():
usuario = input("Digite o nome de usuário (min de 5 caracteres): ").strip()
if len(usuario) < 5:
print("Nome de usuário deve ter pelo menos 5 caracteres")
return solicitar_usuario() # chamada recursiva
return usuario
def solicitar_senha():
senha = input("Digite a senha (min de 8 caracteres): ").strip()
if len(senha) < 8:
print("Senha deve ter pelo menos 8 caracteres")
return solicitar_senha() # chamada recursiva
return senha
# Execução
usuario = solicitar_usuario()
senha = solicitar_senha()
print("Cadastro realizado!")
print(f"User: {usuario}")
print(f"Senha: {senha}")
Continue seu ótimo trabalho e compartilhe com a gente!
Bons estudos e qualquer coisa estamos ai...
Até...