我正在制作一个基于文本的游戏,但是我遇到了一个附加列表的问题。
您可以执行的启动命令位于列表中。
room1_commands = ['help', 'look']
如果他们使用'look'命令就会启动它。
if ask == 'look':
print ('You see a fireplace.')
room1_commands.append('fireplace')
据我所知,应该在命令列表中添加壁炉,但事实并非如此。
我注意到如果我添加......
print (room1_commands)
在附加后它显示它附加,但如果我没有缩进它所以它不在if语句中它只打印出'help'和'look'
这是整个语句(包括打印出命令列表的帮助语句)
def room1():
ask = input()
room1_commands = ['help', 'look']
if ask == 'help':
print ('Usable Commands')
print (room1_commands)
room1()
elif ask == 'look':
print ('You see a fireplace')
room1_commands.append('fireplace')
room1()
答案 0 :(得分:1)
这是一个递归函数,每次调用room1
时,room1_commands
都会再次设置为['help', 'look']
。要修复它,您应该将room1_commands = ['help', 'look']
移动到函数之外,如下所示:
room1_commands = ['help', 'look']
def room1():
ask = input()
if ask == 'help':
print ('Usable Commands')
print (room1_commands)
room1()
elif ask == 'look':
print ('You see a fireplace')
room1_commands.append('fireplace')
room1()