[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