Python 3.4.2 | NameError:未定义名称“x”

时间:2014-11-11 09:19:17

标签: python python-3.x

我正在使用Python 3.4.2中的基于单词的迷宫游戏,当我尝试运行它时,我遇到此错误消息的问题:NameError: name 'direction' is not defined

这是我定义它的方式:

def chooseDirection():
    direction = input('''What way will you go? (Type Left or Right or Forward then press enter.) ''')

然后我尝试使用'方向'这样:

if direction == str(Right or right):
    print ('Congrats! You have turned the right way, you can live...')
    time.sleep(1)
    print ('For now o.O')

我无法找到代码的任何问题,我已经从stackoverflow检查了一些其他类似的问题,但没有一个有效。

Here is my full code

如果您需要更多信息,我们将非常感谢您,并告诉我们。

谢谢,塞巴斯蒂安。

2 个答案:

答案 0 :(得分:0)

def checkDirection(chooseDirection):

print('You have now entered the maze.')
time.sleep(0.5)

if direction == str(Right or right):
print ('Congrats! You have turned the right way, you can live...')
time.sleep(1)
print ('For now o.O')

用chooseDirection替换方向,因为这是你试图传递的参数(或取值)

如果你使用

则为if else
if (direction == 'Right' or direction == 'Left'):

另外

def chooseDirection():
direction = input('''What way will you go? (Type Left or Right or Forward then press enter.) ''')

return chooseDirection

我认为你想要返回方向,而不是选择方向。

答案 1 :(得分:0)

我检查了你的代码。你真的需要阅读一篇关于Python的好教程。

用于更正您的代码;

首先,您应该将checkDirection参数更改为direction。您在direction方法中没有checkDirection变量。

def checkDirection(direction):
    ...

此外,您不处理chooseDirection方法的返回值。

while圈内,你应该把它变成一个变量并用它来调用checkDirection

d = chooseDirection()
checkDirection(d)

最后chooseDirection没有返回正确的变量。它应该是direction