好的,所以我试图设置一个bool,这样如果一个项目被采用它变为True,下次如果它是True然后它需要一个不同的路径,这是我第一次用Python写一些东西,所以请原谅不好的代码约定。无论如何,我需要将bool设为False,直到笔记被取出,并且当它是我希望它变为True时。我将来可能会遇到的一个问题是,在一个部分中,玩家会回到这个房间,我怎么能在他们这样做的时候保持真实?
def first_room(Note):
choice1_1 = raw_input('The house looks much larger than it did from the outside. You appear in a room, to your left is a closet, to your right is a pile of junk, in front of you is a door, and behind you is the exit.')
choice1_1 = choice1_1.lower()
if choice1_1 == 'left' or choice1_1 == 'l' or choice1_1 == 'closet':
if note == False:
choice1_c = raw_input('You open the closet and check inside, there is a note. Do you take the note? (Y/N)')
choice1_c = choice1_c.lower()
if choice1_c == 'y':
print 'You took the note.'
first_room(True)
if choice1_c == 'n':
print 'You leave the note alone.'
first_room(False)
else:
print 'The closet is empty.'
first_room(True)
first_room(False)
答案 0 :(得分:2)
这里有几个问题:
首先,假设整个世界都熟悉你正在工作的环境,你就制定了你的问题。嗯,我们不是。 :-)不知何故,你似乎希望函数记住note
的值,但我不确定。
更多问题:
def first_room(Note):
在Python中, class 名称以大写字母开头,变量名称应以小写字母开头。
if note == False:
从不,永远这样做!您可以直接测试布尔值,例如:
if not note:
您还可以交换if
的两个手臂,使其听起来不那么愚蠢:
if note:
# ... do something ...
else:
# ... do something else ...
无论如何,我建议你参加基础编程课程......
答案 1 :(得分:0)
您需要某种数据结构来存储房间的状态。 dict
可能是一个不错的选择
例如:
rooms = {}
rooms['first_room'] = {'note': False}
然后你可以像这样检查笔记的状态
if rooms['first_room']['note']:
...
并像这样更新
rooms['first_room']['note'] = True
在学习的这个阶段,不要害怕让rooms
成为全局变量