1. 代码
from sys import exit
# 定义黄金屋函数
def gold_room():
print("This room is full of gold. How much do you take?")
next = 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‘re not greedy, you win!")
exit(0)
else:
dead("You greedy bastard!")
# 定义小熊房间
def bear_room():
print("There is a bear here.")
print("The bear has a bunch of honey.")
print("The fat bear is in front of another door.")
print("How are you going to move the bear?")
# 赋值
bear_moved = False
# 定义死亡函数
def dead(why):
print(why,‘Good job!‘)
exit(0)
# 定义克苏鲁房间
def cthulhu_room():
print("Here you see the great evil Cthulhu.")
print("He, it, whatever starts at you and you go insane.")
print("Do you flee for your life or eat your head?")
next = input(">")
if "flee" in next:
start()
elif "head" in next:
dead("Well that was tasty!")
else:
cthulhu_room()
# 定义开始函数
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 = input("> ")
if next == "left":
bear_room()
elif next == "right":
cthulhu_room()
else:
dead("You stumble around the room until you starve.")
# 执行开始函数
start()
# 定义while循环
while True:
next = input(">")
if next == "take honey":
dead("The bear looks at you then slaps your 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 == "taunt bear" and bear_moved:
dead("The bear gets pissed off and chews your leg off.")
elif next == "open door" and bear_moved:
gold_room()
else:
print("I got no idea what that means.")
2. 执行结果
D:\流畅学python\venv\Scripts\python.exe D:/流畅学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 of 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 gold. How much do you take? >asf Man, learn to type a number. Good job! Process finished with exit code 0
3. 流程图

原文:https://www.cnblogs.com/kevin-hou1991/p/14773899.html