Newbie question related to Boolean in Python
Dave Angel
davea at davea.name
Thu Sep 5 16:47:35 EDT 2013
On 5/9/2013 16:08, skwyang93 at 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
More information about the Python-list
mailing list