On 5/9/2013 16:08, skwyan...@gmail.com wrote:

> 1.      bear_moved = False
> 2.     
> 3.      while True:
> 4.        next = raw_input("> ")
> 5.    
> 6.        if next == "take honey":
> 7.            dead("The bear looks at you then slaps your face off.")
> 8.        elif next == "taunt bear" and not bear_moved:
> 9.            print "The bear has moved from the door. You can go through."
> 10.       
> 11.            bear_moved = True
> 12.    elif next == "taunt bear" and bear_moved:
> 13.        dead("The bear gets pissed off and chews your leg off.")
> 14.    elif next == "open door" and bear_moved:
> 15.       gold_room()
> 16.    else:
> 17.        print "I got no idea what that means.
>

Please indent by 4, not 2 characters.  It's very hard to see what's
lined up with what.  And that's compounded by having the line numbers
there so that the first 9 lines are shifted left.

> # This is just to show my understanding of Boolean. In line 8-9, if my input 
> is "taunt bear", the result is true and true, which will continue the loop.

Those lines have compound if conditions.  Line 8 will be true/true
only the first time you type "taunt bear".  Notice the operator "not" in
front of bear_moved.

>
> # So what confused me is line 12-13. if my input is taunt bear, is it suppose 
> to be taunt bear == "taunt bear" and bear_moved which is true and true? which 
> means the loop will continue instead of cancelling it.

Line 12 will be true/true only if you've already run line 11.  Since
bear_moved = False initially, the only way you get true /true here is by
answering "taunt bear" twice.

>
> Thanks in advance for spending your time to answer my question. 
> Source: Learnpythonthehardway

-- 
DaveA


-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to