pythonjupyter-notebookpassword-generator

Random password generator with words limit


I am creating a random password generator. I wanted to create an input field where the length of the password can only be min 8 and max 16. If user input the length other than the allowable length, it will keep asking the user to input the right password length. I use 'return' so it return to length = int(input('\nEnter the length of password: ')) , but it does not work here. Can I get advice on how to make this right?

#input the length of password
#must be minimun 8 to maximun 16

length = int(input('\nEnter the length of password: '))

#if use enter less than 8 or more than 16 

if length < 8 :
        print('You password length is too short(must be more than 8 character)')
        return;
elif length > 16:
        print('You password length is too long(must be less than 17 character)')
        return;
else:
        print('You password length looks good') 
    

Solution

  • Use the built-in len function instead and use a while loop:

    #input the length of password
    #must be minimun 8 to maximun 16
    
    #if use enter less than 8 or more than 16
    l = False
    while not l:
        length = input('\nEnter the length of password: ')
        if len(length) < 8 :
            print('You password length is too short(must be more than 8 character)')
            print(len(length), "is the length of your password")
        elif len(length) > 16:
                print('You password length is too long(must be less than 17 character)')
                print(len(length), "is the length of your password")
        else:
                print('You password length looks good')
                break
            
    
    

    Output:

    Enter the length of password: thisismorethan16characters
    You password length is too long(must be less than 17 character)
    26 is the length of your password
    
    Enter the length of password: thisisgood
    You password length looks good
    >>> 
    

    Also, remove the int() so we can allow the user to enter a string, and you usually use return when it's in a function. Also there is no use of ; in python.