Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

3. practicando python_bucles for y while_13 Validación de entrada para inicio de sesión

3. practicando python_bucles for y while_13 Validación de entrada para inicio de sesión.ipynb

"""
João está desarrollando un sistema de registro para un sitio de lectura. Necesita asegurarse de que los usuarios ingresen un nombre de usuario y una contraseña válidos. Las reglas son las siguientes:

El nombre de usuario debe tener al menos 5 caracteres.
La contraseña debe tener al menos 8 caracteres.
João quiere que el sistema siga solicitando la información hasta que ambas condiciones se cumplan. Cuando el usuario ingresa datos válidos, el programa debe mostrar el mensaje: "¡Registro realizado con éxito!".

Crea un programa que implemente esta lógica usando un bucle while.

Salida esperada:

¿Lograste implementar? ¡Compártelo con nosotros en el foro!
"""

print("Bienvenido al sistema de registro de usuarios.")

# Inicializar las variables de validación. se definen variables booleanas para controlar el bucle.
nombre_usuario_valido = False
contrasena_valida = False

# Bucle o ciclo while que se ejecuta mientras al menos una de las condiciones no se cumpla
while not nombre_usuario_valido or not contrasena_valida: 
    # 1. Solicitar el nombre de usuario
    nombre_usuario = input("Digite su nombre de usuario: ")

    # 2. Solicitar la contraseña
    contrasena = input("Digite su contraseña: ")

    # 3. Validar el nombre de usuario
    if len(nombre_usuario) >= 5:
        nombre_usuario_valido = True
    else:
        nombre_usuario_valido = False
        print("El nombre de usuario debe tener al menos 5 caracteres.")

    # 4. Validar la contraseña (solo si el nombre de usuario ya es válido o si vamos a verificar
    #    la contraseña de todos modos antes de la siguiente iteración)
    if len(contrasena) >= 8:
        contrasena_valida = True
    else:
        contrasena_valida = False
        # Mostrar el error de contraseña solo si la contraseña no cumple
        print("La contraseña debe tener al menos 8 caracteres.")

    # Nota: El bucle while volverá a evaluar las condiciones:
    # while not nombre_usuario_valido or not contrasena_valida:

# Cuando el bucle termina, ambas condiciones son True. Se imprime mensaje.
print("¡Registro realizado con éxito!")