Aprende Expresiones Regulares para Construir un Generador de Contraseñas - Paso 57

Cuéntanos qué está pasando:

I am not understanding the logic of the comparison that the exercise proposes to me.

Tu código hasta el momento

import re
import secrets
import string


def generate_password(length, nums, special_chars, uppercase, lowercase):
    # Define the possible characters for the password
    letters = string.ascii_letters
    digits = string.digits
    symbols = string.punctuation

    # Combine all characters
    all_characters = letters + digits + symbols

    while True:
        password = ''
        # Generate password
        for _ in range(length):
            password += secrets.choice(all_characters)

        constraints = [
            (nums, r'\d'),
            (lowercase, r'[a-z]'),
            (uppercase, r'[A-Z]'),            
            (special_chars, fr'[{symbols}]')            
        ]

# User Editable Region

        # Check constraints
        for constraint, pattern in constraints:
            len(re.findall(pattern, password))
            constraint <= len(re.findall(pattern, password))

# User Editable Region

    return password

# new_password = generate_password(8)
# print(new_password)

Información de tu navegador:

El agente de usuario es: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36

Información del Desafío:

Aprende Expresiones Regulares para Construir un Generador de Contraseñas - Paso 57

Hi @JuanciDev

You need to modify the existing code. You should only have one line of code in the for loop.

Happy coding