Learn Regular Expressions by Building a Password Generator - Step 57

Tell us what’s happening:

I followed the instruction. I don’t know what is happening.

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)):
            pass

# User Editable Region

    return password

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

Your browser information:

User Agent is: Mozilla/5.0 (X11; Linux x86_64) 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 57

Hi @indranilmaity1729

  1. the instructions did not ask you to use the if statement, so you can remove it
  2. also remove the pass statement, don’t forget the colon
  3. fix up the align of your code

Happy coding

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