Learn Regular Expressions by Building a Password Generator - Step 61

Tell us what’s happening:

Describe your issue in detail here.

Your code so far

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}]')            
        ]

        # Check constraints
        count = 0

/* User Editable Region */

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

/* User Editable Region */

            break

    return password

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

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

Challenge Information:

Learn Regular Expressions by Building a Password Generator - Step 61

I STRUGGLE ON THIS STEP . i can’t achieve it, i need help

You appear to have created this post without editing the template. Please edit your post to Tell us what’s happening in your own words.

Hello Iamdumonde, welcome to the forum!

You’re very close! You don’t need the all method yet, you’ll see that soon. once you remove that instead of the round brackets, you will have to use square brackets on the entire thing except the if part and the : at the end.