Hola Benito, espero que estés bien
Parece que estás en el camino correcto con tu implementación para validar la entrada de usuario y contraseña. Tu código ya está configurado para solicitar los datos al usuario y verificar las condiciones necesarias. Sin embargo, hay un pequeño detalle en la lógica de verificación que podrías ajustar.
Actualmente, tu código está usando and en la primera condición if len(usuario) < 5 and len(contraseña) < 8, lo que significa que ambas condiciones deben ser verdaderas para mostrar el mensaje de error combinado. Para que el programa funcione como se espera, deberías usar or en lugar de and. Esto asegurará que el mensaje de error correcto se muestre si cualquiera de las condiciones no se cumple.
Aquí tienes cómo podrías ajustar esa parte del código:
registro_exitoso = False
while not registro_exitoso:
    # Solicitar datos al usuario
    usuario = input("Ingrese su nombre de usuario: ")
    contraseña = input("Ingrese su contraseña: ")
    # Verificar las condiciones
    if len(usuario) < 5 or len(contraseña) < 8:
        if len(usuario) < 5:
            print("El nombre de usuario debe tener al menos 5 caracteres.")
        if len(contraseña) < 8:
            print("La contraseña debe tener al menos 8 caracteres.")
    else:
        registro_exitoso = True
        print("¡Registro realizado con éxito!")
Con este ajuste, el programa verificará cada condición de forma independiente y mostrará el mensaje de error correspondiente si alguna de las condiciones no se cumple.
Espero haber ayudado y buenos estudios!