¡Hola Patrick, espero que estés bien!
Tu código parece estar en el camino correcto para cumplir con las condiciones del ejercicio. Has implementado un bucle while que sigue pidiendo al usuario que ingrese su nombre y contraseña hasta que ambas condiciones se cumplan, lo cual es exactamente lo que se pide.
Aquí hay un par de cosas que podrías considerar para mejorar o ajustar tu código:
Mensajes de error claros: Ya estás mostrando mensajes claros cuando las entradas no cumplen con los requisitos. Esto es excelente para la experiencia del usuario.
Orden de validación: Actualmente, primero validas el nombre de usuario y luego la contraseña. Esto está bien, pero si quisieras, podrías validar ambos antes de continuar, para que el usuario reciba ambos mensajes de error al mismo tiempo si ambos campos son incorrectos.
Pruebas adicionales: Asegúrate de probar tu código con diferentes entradas para verificar que maneja todos los casos posibles, como entradas vacías o caracteres especiales.
Aquí tienes un ejemplo de cómo podrías ajustar el orden de validación si decides hacerlo:
while True:
nombre = input("Ingresa tu nombre de usuario: ")
clave = input("Ingresa tu contraseña: ")
if len(nombre) < 5:
print("El nombre de usuario debe tener al menos 5 caracteres.")
if len(clave) < 8:
print("La contraseña debe tener al menos 8 caracteres.")
if len(nombre) >= 5 and len(clave) >= 8:
print("¡Registro realizado con éxito!")
break
Esto permite que el usuario vea todos los errores de validación de una sola vez, lo que puede ser más eficiente.
Espero haber ayudado y buenos estudios!