Hola Eva, espero que estés bien
¡Espero que estés bien! He revisado tu código y parece que estás en el camino correcto para implementar la lógica de validación de usuario y contraseña usando un bucle while. Sin embargo, hay un pequeño detalle que podrías ajustar para que el programa funcione exactamente como se espera en el ejercicio.
En tu código, después de registrar un usuario exitosamente, preguntas si el usuario quiere ingresar otro usuario y continúas o rompes el bucle basado en esa respuesta. Según el ejercicio, el programa debería simplemente terminar después de un registro exitoso, sin necesidad de preguntar si quieres continuar.
Aquí tienes una versión ajustada de tu código:
registroUsuarios = dict()
while True:
try:
nombreUsuario = input('Ingrese su nombre de usuario: ')
if len(nombreUsuario) <= 5:
print('El nombre de usuario debe tener al menos 5 caracteres')
else:
contrasenia = input('Ingrese su contraseña: ')
if len(contrasenia) <= 8:
print('La contraseña debe tener al menos 8 caracteres')
else:
registroUsuarios[nombreUsuario] = contrasenia
print('¡Registro realizado con éxito!')
break # Termina el bucle después de un registro exitoso
except ValueError:
print('Los datos ingresados no cumplen con las condiciones')
for usuario, contrasenia in registroUsuarios.items():
print(f'Usuario: {usuario} - Contraseña: {contrasenia}')
Con este ajuste, el programa seguirá pidiendo los datos hasta que ambos, el nombre de usuario y la contraseña, sean válidos, y luego terminará después de mostrar el mensaje de éxito.
Espero que esta sugerencia te sea de ayuda. ¡Bons estudios!