On Jul 1, 3:38 pm, "sato.ph...@gmail.com" <sato.ph...@gmail.com> wrote: > I have been able to make the module quit after entering a password > three times, but can't get it to quit right away after the correct one > is entered.
Not with the code you pasted, you haven't. There's a missing colon on line 7 & line 9 isn't indented properly. It's always best if we're referring to the same source when trying to help with a problem. The problem you're having, though, has to do with the while loop and the fact that it's only checking one condition: has the 'count' counter been incremented to 3. What you need to do is _also_ check for the success condition: is_confirmed = False while count != 3 or is_confirmed: guess = raw_input("Enter your password: ") guess = str(guess) if guess != password: print "Access Denied" count = count + 1 else: print "Password Confirmed" is_confirmed = True This also provides you with a nice boolean that shows whether or not the password was confirmed, which may be useful for latter code. However, whenever you want to loop a set number of times, it's usually better to use a 'for' loop instead: PASSWORD = 'qwerty' MAXRETRY = 3 for attempt in xrange(MAXRETRY): guess = str(raw_input('Enter your password: ')) is_complete = guess == PASSWORD if is_complete: print 'Password confirmed' break # this exits the for loop else: print 'Access denied: attempt %s of %s' % (attempt+1, MAXRETRY) This saves you from the burden of creating, incrementing & testing your own counter. If there's anything here that isn't clear, please don't hesitate to ask. -- http://mail.python.org/mailman/listinfo/python-list