我正在使用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检查了一些其他类似的问题,但没有一个有效。
如果您需要更多信息,我们将非常感谢您,并告诉我们。
谢谢,塞巴斯蒂安。
答案 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 elseif (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