[Tutor] Cell Bio Newbie Here
Jay Loden
python at jayloden.com
Mon Apr 11 21:45:45 CEST 2005
Ok, it's a logic error in the while loop. Starting at the beginning: you
can't compare the value of "password" until the user inputs the value, which
is why it's requiring you to put password = "foobar" at the top. Otherwise,
password has no value, and as far as the interpreter is concerned, it doesn't
exist yet.
The rest of it is a logic error because your while loop is executing as long
as "unicorn" != "foobar" and therefore it's continuously looping. Each time
it loops, it asks for the password again, and sets a LOCAL variable called
password to the new raw_input. Then, when you get to the third time, it does
the "if current_count<count:", realizes it doesn't match, and skips the rest
of the if statement, moving to the else. When it gets to the else, it prints
out your error messge, then loops all over again.
You have to provide it a way to break out of the loop and correctly compare
the value of the user input to "unicorn"
You'd be better off with something more like
while raw_input("Password: ") != "unicorn:
or maybe reworking the whole thing to work in a for loop, since I'm assuming
you only want it to give them three chances? Generally, if you know how many
times you want something to happen, it's best to use a for loop rather than a
while.
-Jay
On Monday 11 April 2005 07:54 pm, glaevsky at ECE.NEU.EDU wrote:
> Following is what I got. If I type "unicorn" it goes straight to "welcome
> in." Great. But after my third mistake, it just loops in "That must have
> been complicated."
>
> I'd like for someone to tell me "why" i screwed up. Not to just fix it.
> #first of all, why does this have to be here?
> password="foobar"
>
> count=3
> current_count=0
>
> while password !="unicorn":
> if current_count<count:
> password=raw_input("Password:")
> current_count=current_count+1
> else:
> print "That must have been complicated"
>
>
> print "Welcome in"
> Best,
>
> Gary
>
>
>
> Gary Laevsky, Ph.D.
> Keck Facility Manager, CenSSIS
> Northeastern University
> 302 Stearns
> 360 Huntington Ave.
> Boston, MA 02115
> voice(617) 373 - 2589<br>
> fax(617) 373 - 7783<br><br>
>
> http://www.censsis.neu.edu
>
> http://www.ece.neu.edu/groups/osl
>
> http://www.keck3dfm.neu.edu
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
More information about the Tutor
mailing list