Learn Regular Expressions by Building a Password Generator - Step 66

my code is not working, i even tried writing it like the example given in the instructions

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'),
            (special_chars, fr'[{symbols}]'),
            (uppercase, r'[A-Z]'),
            (lowercase, r'[a-z]')
        ]

        # 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(length, nums, special_chars, uppercase, lowercase)
print(new_password)
spam(length=8, nums=1, special_chars=1, uppercase=1, lowercase=1)#8

# 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 66

Here is the original function call:

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

Modify that line.

Don’t call the fucntion spam that’s just an example, it does not exist in your code. Call the generate_password function that you’ve made, just give the arguments by name, as you have done.

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