Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据变量将函数重定向到其他函数_Python_Variables_Terminal - Fatal编程技术网

Python 根据变量将函数重定向到其他函数

Python 根据变量将函数重定向到其他函数,python,variables,terminal,Python,Variables,Terminal,我目前正在用Python制作一个游戏。这只是命令 假设游戏中有一扇锁定的门,你需要钥匙来开门。我能理解所有关于变量的基本知识,但显然不是这个 我的代码如下所示: def room_1(): door = 0 print choice = raw_input('>: ') if choice.lower() == 'open door': if door == '0': print print

我目前正在用Python制作一个游戏。这只是命令

假设游戏中有一扇锁定的门,你需要钥匙来开门。我能理解所有关于变量的基本知识,但显然不是这个

我的代码如下所示:

def room_1():
    door = 0
    print
    choice = raw_input('>: ')

    if choice.lower() == 'open door':
        if door == '0':
            print
            print 'Sorry, you need a key to open this door.'
            room_1()
        if door == '1':
            room_2()
我不太清楚这为什么不起作用


这里有人能帮我吗?多谢各位

您没有在原始输入函数调用中打开字符串:

def room_1():
    door = 0
    print
    choice = raw_input('>: ')

    if choice.lower() == 'open door':
        if door == '0':
            print
            print 'Sorry, you need a key to open this door.'
            def room_1()
        if door == '1':
            room_2()

这是因为您最初将变量
door
声明为
int
,但将其与
字符串
'0'
(和
'1'
)进行比较

应该是,

if door == 0:
   .....


此外,OP很可能也想删除
def
,只保留
room_1()
。我刚刚在stackoverflow快速编写了一个新代码,向大家展示。在实际代码中一切正常:)@StigHetl不要这样做:p如果这样做,请至少检查此类错误:p@Keyser我会的!呵呵:PExplain“不起作用”关于你所写代码问题的问题必须在问题本身中描述具体的问题,并包括重现问题的有效代码。请访问SSCCE.org获取指导。非常感谢!太完美了!没问题,很高兴我能帮忙!
if door == 1:
   .....