Basic question from pure beginner
Bruno Desthuilliers
bruno.42.desthuilliers at websiteburo.invalid
Wed Jul 1 04:26:16 EDT 2009
sato.photo at gmail.com a écrit :
> Thank you for all of the help. With your assistance and help from the
> Python Tutor mailing list I was able to come up with the following
> code:
>
> password = "qwerty"
> correct_password_given = False
> guess = "0"
You could just use None here:
guess=None
> count = 0
> while count != 3 and not correct_password_given :
> guess = raw_input("Enter your password: ")
> guess = str(guess)
IIRC, raw_input() already returns a string !-)
> if guess != password:
> print "Access Denied"
> count = count + 1
Or:
count += 1
> else:
> print "Password Confirmed"
> correct_password_given = True
>
>
> If I understand it correctly, the function will continue to loop until
> either the count == 3 or until correct_password_give = True,
There are many ways to write a same boolean test, and some are easier to
understand. Your test could be written:
while not (count == 3 or correct_password_given) :
# proceed
Does it answer your question ?-)
As a general rule:
* not A and not B <=> not (A or B)
* not A or not B <=> not (A and B)
> satisfying the two conditions of the assignment, which were to lock a
> user out after three failed password attempts and to print "Access
> Granted" and end the module if the correct password is given.
Well, given your snippet, execution indeed terminates after either
successful 'login' or 3 failed attempts, but that's mostly because
there's no code to execute after the while loop...
More information about the Python-list
mailing list