Learn Regular Expressions by Building a Password Generator - Step 57

Tell us what’s happening:

im stuck in step 57 no matter how much im trying im not getting that passed and go to next step, no matter how many methods i should use to pass it, even though i write all the methods correctly and all the indentations, syntax’s, and all the rest of the things will be correct only but still its shows your code doesn’t pass im trying this from past 4-5 days and still i cant get out of it
i think either the website has a problem or the program has the problem or the question has the problem .

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:
            len(re.findall(pattern, password))

# User Editable Region

    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/139.0.0.0 Safari/537.36 Edg/139.0.0.0

Challenge Information:

Learn Regular Expressions by Building a Password Generator - Step 57

where is the requested comparison? can you show one of your attempts with that?

im typing

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

    for constraint, pattern in constraints:

        if  constraint <= len(re.findall(pattern, password)):

            pass

return password

# new_password = generate_password(8)

# print(new_password)

the problem i’m facing is in the # Check constraints
this is the question
Inside your for loop, compare constraint and the length of the list returned by findall(). Use the <= operator for that.

and this is coming no matter how much ever im trying to solve
Sorry, your code does not pass. Hang in there.

You should compare constraint and the length of the list returned by findall using the <= operator inside your for loop.

I will be very much thankful to you, if you could help me out with this problem
I’m trying to solve this from past 4-5 days and I’ve tried taking help from a lot of people but it didn’t work any of those people’s idea’s

And if i’m wrong somewhere please guide me
and tell me where i’m wrong and please correct the code of constraints part

you are asked to add a comparison only, it looks to me like you added an if statement

yaah, thanks a lot sir/madam

i had confused and i didn’t notice that

thank you very much

And I’m sorry if I’ve used abusive words while explaining my issue, actually i was too frustrated