-2

我正在制作基于文本的游戏,但在添加列表时遇到了问题。

您可以执行的启动命令在列表中。

room1_commands = ['help', 'look']

如果他们使用“look”命令,它会启动它。

if ask == 'look':
    print ('You see a fireplace.')
    room1_commands.append('fireplace')

据我所知,应该将壁炉添加到命令列表中,但事实并非如此。

我注意到如果我添加...

print (room1_commands)

在附加之后它显示它已附加,但如果我不缩进它,它不会位于 if 语句中,它只会打印出“帮助”和“看”

这是整个语句(包括打印命令列表的帮助语句)

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()
4

1 回答 1

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()
于 2013-11-10T01:43:34.947 回答