# Learn Python The Hard Way学习(35) - 分支和函数

2012-07-02

[python]
from sys import exit

def gold_room():
print "This room is full of fold. How much do you take?"

next = raw_input("> ")
if "0" in next or "1" in next:
how_much = int(next)
else:
dead("Man, learn to type a number.")

if how_much < 50:
print "Nice, you are not greedy, you win!"
exit(0)
else:

def bear_room():
print "There is a bear here."
print "The bear has a bunch of honey."
print "The fat bear is in front if another door."
print "How are you going to move the bear?"
bear_moved = False

while True:
next = raw_input("> ")
if next == "take honey":
dead("The bear looks at you then slaps our face off.")
elif next == "taunt bear" and not bear_moved:
print "The bear has moved from the door. you can go through it now."
bear_moved = True
elif next == "open door" and bear_moved:
gold_room()
else:
print "I got no idea what that means."

def cthulhu_room():
print "Here you see the great evil Cthulhu."
print "He, it, whatever stares at you and you go insane."
next = raw_input("> ")
if "flee" in next:
start()
else:
cthulhu_room()

print why, "Good job!"
exit(0)

def start():
print "You are in a dark room."
print "There is a door to your right and left."
print "Which one do you take?"

next = raw_input("> ")
if next == "left":
bear_room()
elif next == "right":
cthulhu_room()
else:
dead("You stumble around the room until you starve.")

start()

root@he-desktop:~/mystuff# python ex35.py
You are in a dark room.
There is a door to your right and left.
Which one do you take?
> right
Here you see the great evil Cthulhu.
He, it, whatever stares at you and you go insane.
> ss
Here you see the great evil Cthulhu.
He, it, whatever stares at you and you go insane.
> flee
You are in a dark room.
There is a door to your right and left.
Which one do you take?
> left
There is a bear here.
The bear has a bunch of honey.
The fat bear is in front if another door.
How are you going to move the bear?
> taunt bear
The bear has moved from the door. you can go through it now.
> taunt bear
I got no idea what that means.
> open door
This room is full of fold. How much do you take?
> 4
Man, learn to type a number. Good job!
root@he-desktop:~/mystuff# python ex35.py
You are in a dark room.
There is a door to your right and left.
Which one do you take?
> left
There is a bear here.
The bear has a bunch of honey.
The fat bear is in front if another door.
How are you going to move the bear?
> taunt bear
The bear has moved from the door. you can go through it now.
> open door
This room is full of fold. How much do you take?
> 1
Nice, you are not greedy, you win!

1. 画一个游戏地图，看看你玩的流程。

2. 修改你的错误，包括拼写错误。

3. 为函数写评论，还记得doc文档吗？

4. 扩展你的游戏，你能简洁的扩展它吗？

5. 在gold_room中有一个很不好的方法去判断你输入的是不是数字，你能有更好的方法改进吗？参考int()方法。
if nexe.isdigit():