[Tutor] Cell Bio Newbie Here
Brian van den Broek
bvande at po-box.mcgill.ca
Tue Apr 12 01:11:50 CEST 2005
Alberto Troiano said unto the world upon 2005-04-11 17:43:
> Hi Brian
>
> Thanks for correcting me about the variable and reserved word differences (just
> for the record the problem is that my english is not so good, you see I'm from
> Bolivia so pardon my francĂ´is :P)
Hi Alberto,
I wouldn't have known you felt you had difficulties in English had you
not said so. :-)
> About the code I posted let me stand for it because it sure works like a charm.
>
> I tested and the Option 1 gives the message of "That has been difficult" stuff
> when you pass the 3 errors and still ask you for password.
>
> The option 2 loops 3 times unless you put unicorn or whatever is the password
> and at the third time it gives the message and then increment the current_count
> once more to take you out of the while loop
>
> Test it and let me know how it went, and also if I have a few problems with my
> writing please let me know as I will try to correct them
You are absolutely right that your `Option 2' code does exit the loop.
I somehow missed that the while condition had an `and' in it :-[ My
apologies.
Your second post said you intended the final if clause to be:
if password=="unicorn":
# etc
I've changed it to
if password != "unicorn":
# etc
and get what I would think is correct behaviour.
So, it now reads:
password = None # necessary pre-setting of names
current_count = 0
count = 3
while password != "unicorn" and current_count <= count:
if current_count < count:
password=raw_input("Password:")
current_count=current_count+1
else:
current_count=current_count+1
print "That must have been complicated"
if password!="unicorn":
print "Try again Later"
else:
print "Welcome in"
I would suggest that it be done like this, though:
# pre-sets as before go here
while password != "unicorn":
if current_count < count:
password = raw_input("Password:")
if password=='unicorn':
print 'Welcome in'
else:
print "That must have been complicated"
print "Try again Later"
break
current_count += 1
This pushes all of the actions consequent on the password into the
password fetching loop and uses just a single incrementing line.
Anyway, once again, sorry for misreading and mis-correcting you.
Best,
Brian vdB
More information about the Tutor
mailing list