擅长:python、mysql、java
<p>问题是,您的结构在无休止的right\u left()调用堆栈上调用自己,这似乎无法逃脱。您只将两个不同的字符串('True','False')传递到此方法中,因此没有用户的真实状态。你知道吗</p>
<p>您需要为用户重新构造路径,并将移动决策与文件室逻辑分开。然后可以为用户保存某种上下文,也可能为文件室保存某种状态。这将受益于面向对象的设计,否则您将需要使用globals来保持房间的状态。你知道吗</p>
<p>要使用全局变量执行此操作,可以定义以下方法:</p>
<pre><code># global variable to keep track
rooms=['safe', 'closet','main']
currentRoom=rooms[0]
# returns which the new room you are in.
def move(fromRoom, direction):
# main section
while (response != "exit"):
choice = raw_input("Enter Command > ")
move(currentRoom, choice)
# etc..
</code></pre>