Python (learn python the hard way exercise 35) -


i'm working on zed shaw's learn python hard way.

in exercise 35, 1 finds program includes these lines:

def bear_room():     print "there bear here."     print "the bear has bunch of honey."     print "the fat bear in front of door."     print "how going move bear?"     bear_moved = false      while true:         next = raw_input("> ")          if next == "take honey":             dead("the bear looks @ slaps face off.")         elif next == "taunt bear" , not bear_moved:             print "the bear has moved door. can go through now."             bear_moved = true         elif next == "taunt bear" , bear_moved:             dead("the bear gets pissed off , chews leg off.")         elif next == "open door" , bear_moved:             gold_room()         else:             print "i got no idea means." 

all good. i'd give player chance survive, , warning, before losing game. came this:

def bear_room():     print "there bear here."     print "there bear has bunch of honey."     print "the fat bear in front of door."     print "how going move bear?"     bear_moved = false     bear_moved_again = false      while true:         next = raw_input("> ")          if next == "take honey":             dead("the bear looks @ slaps face off.")         elif next == "taunt bear" , not bear_moved:             print "the bear moved door. can go through now."             bear_moved = true         elif next == "taunt bear" , bear_moved:             print "the bear getting angry. don't taunt him again."             bear_moved_again = true             elif next == "taunt bear" , bear_moved_again:             dead("the bear gets pissed off , chews leg off.")         elif next == "open door" , bear_moved:             gold_room()         else:             print "i got no idea means." 

doesn't work: get, if taunt bear more once the: "the bear getting angry. don't taunt him again." string, on , over, whereas, i'd player able taunt animal twice (first move it, , getting warning second time) before losing. know why?

and question: if bear_moved set false (line 6), , (line 13) says:

elif next == "taunt bear" , not bear_moved: 

wouldn't "and not" set bear_moved true?

any appreciated.

change line

elif next == "taunt bear" , bear_moved: 

to

elif next == "taunt bear" , bear_moved , not bear_moved_again: 

and line

elif next == "taunt bear" , bear_moved_again: 

to

elif next == "taunt bear" , bear_moved , bear_moved_again: 

in original edition, sentence "elif next == "taunt bear" , bear_moved:" tested before "elif next == "taunt bear" , bear_moved_again". if input "taunt bear" many times, 1 of "elif next == "taunt bear" , not bear_moved" , "elif next == "taunt bear" , bear_moved" always true. test, "elif next == "taunt bear" , bear_moved_again", never taken.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -