Learn Regular Expressions by Building a Password Generator - Step 72

Tell us what’s happening:

Hello@team I’m hesitate about this section my assignment please I need help

Your code so far

import re
import secrets
import string


def generate_password(length=16, nums=1, special_chars=1, uppercase=1, lowercase=1):

    # 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()
print('Generated password:', new_password)
    if __name__=='__main__':

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (iPhone; CPU iPhone OS 15_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/120.0.6099.119 Mobile/15E148 Safari/604.1

Challenge Information:

Learn Regular Expressions by Building a Password Generator - Step 72

put the last two lines of your code inside an if statement

There is no code for your if statement to execute. Put the last two lines of code in the block of code that gets executed by the if.

Also, you don’t indent an if statement like that…

1 Like