以下是我遇到的基本想法:我试图做一个简单的游戏,你在一个房间里,而你有两个房间分支第一个需要在继续之前“完成”。我希望第二和第三房间将我原来的True
报表更改为False
报表,在进行游戏前需要切换所有报表。如何使函数改变其他函数的True/False语句
从SYS进口出口
def room_1():
print "You're in room one, there are two doors to room 2 and 3."
print "Where do you want to go?"
done_2=True
done_3=True
while True:
move=raw_input("'room 2' or 'room 3'? >")
if move == 'room 2':
room_2()
elif move == 'room 3':
room_3()
else:
print "not a valid answer"
print "You Win!"
exit(0)
def room_2():
print "You finished room 2!"
done_1=False
raw_input('Press button')
room_1()
def room_3():
print "You finished room 3!"
raw_input('press button')
done_3=False
room_1()
room_1()
如何改变done_口供室2和3中? 〜
避免'while while'。 http://stackoverflow.com/a/4557326/59087 – 2013-03-13 16:29:24
您可以从'room_2()'或'room_3()'返回一个值,并将此返回值用作'done_2'或'done_3'变量的值。但是看起来你应该回顾一下软件架构,以及函数和对象可能有哪些可能的事情。 – bdesham 2013-03-13 16:30:23
如果是我,我会创建一个类来存储您的done_变量,然后在所有房间函数之间传递一个实例。这样你可以从任何地方编辑它们,因为它们都只是对实例的引用。 – 2013-03-13 16:31:17