On Jan 6, 2009, at 7:18 PM, bowman.jos...@gmail.com wrote:
Hi, I'm trying to write a multi-conditional while statement, and am having problems. I've broken it down to this simple demo. #!/usr/bin/python2.5 condition1 = False condition2 = False while not condition1 and not condition2: print 'conditions met' if condition1: condition2 = True condition1 = True As I understand it, this should print 'conditions met' twice, however, it only prints it once. It seems that once condition1 is made true, the whole thing evaluates as true and stops the while loop.
Think it through. At the outset: while (not condition1) and (not condition2) ==> while (not False) and (not False) ==> while True and True ==> while True After it's been through the loop once: while (not condition1) and (not condition2) ==> while (not True) and (not False) ==> while False and True ==> while False Change the "and" to an "or" and you'll get the result you expected. -- http://mail.python.org/mailman/listinfo/python-list