Learn Regular Expressions by Building a Password Generator - Step 57

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

/* User Editable Region */

        # Check constraints
        for constraint, pattern in constraints:
            if constraint <= len(re.findall(pattern, password)):
#above is what i tried doing not working even tried
#if  len(re.findall(pattern, password)) <= constraint:
#I don't know any other method to use.

/* User Editable Region */

    return password

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

Your browser information:

User Agent is: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Mobile Safari/537.36

Challenge Information:

Learn Regular Expressions by Building a Password Generator - Step 57

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.

Hi, welcome to the forum!
We see you have posted some code but did you have a question?

(You have not filled out the “Tell us what’s happening:” field above)

Hello Ucebethuel,

You just have to compare it, the question didn’t mention an if statement.
If you remove the if it should pass.

1 Like

Thanks. It work, just the way you said. No need of if statement.

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.