from machine import Pin
from utime import sleep

class IniciarSesion:
    def __init__(self):
        # Diccionario para almacenar usuarios y contraseñas
        self.usuarios_registrados = {}

        # Configurar los pines de los LEDs
        self.led = Pin(5, Pin.OUT)   # LED verde (para indicar inicio de sesión exitoso)
        self.led2 = Pin(6, Pin.OUT)  # LED amarillo (para indicar intento fallido)
        self.led3 = Pin(7, Pin.OUT)  # LED rojo (para indicar cuenta bloqueada)

    def agregar_usuario(self, usuario, contraseña):
        # Agregar usuario y contraseña al diccionario
        self.usuarios_registrados[usuario] = contraseña

    def iniciar_sesion(self):
        intentos = 0
        acceso_permitido = False

        while intentos < 3 and not acceso_permitido:
            usuario = input("Ingrese su nombre de usuario: ")
            contraseña = input("Ingrese su contraseña: ")

            # Verificar si el usuario y la contraseña son correctos
            if usuario in self.usuarios_registrados and self.usuarios_registrados[usuario] == contraseña:
                print("Bienvenido a la Clase")
                acceso_permitido = True
            else:
                print("Usuario o Password incorrecto")
                self.led2.on()  # Encender LED2 (indicando intento fallido)
                sleep(1)  # Esperar 1 segundo antes de apagar el LED2
                self.led2.off()  # Apagar LED2
                intentos += 1

        if not acceso_permitido:
            print("Se le niega el acceso y su cuenta fue bloqueada")
            self.led3.on()  # Encender LED3 (indicando cuenta bloqueada)
        else:
            self.led3.off()  # Apagar LED3 si el acceso es exitoso
            self.led.on()   # Encender LED (indicando inicio de sesión exitoso)

# Ejemplo de uso:
sistema = IniciarSesion()

# Agregar usuarios y contraseñas
sistema.agregar_usuario("usuario1", "pass123")
sistema.agregar_usuario("usuario2", "abc456")

# Iniciar sesión con hasta 3 intentos
sistema.iniciar_sesion()
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT