Learn Regular Expressions by Building a Password Generator - Step 65

Tell us what’s happening:

Describe your issue in detail here.
I don’t understand why it’s rejecting my arguments. I see nothing wrong with my code all it asked was to add four 1s as the last four arguments.

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        
        if all(
            constraint <= len(re.findall(pattern, password))
            for constraint, pattern in constraints
        ):
            break

    return password
    

# User Editable Region

 new_password = generate_password(8,1,1,1,1)
 print(new_password)

# User Editable Region

Your browser information:

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

Challenge Information:

Learn Regular Expressions by Building a Password Generator - Step 65

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.

I’m not sure what you mean. I added the code I have so far and what it says to me what else do I edit?

Check your indentation :eyes:

1 Like

image
:eyes: