0
我有一个函数(基于文本的游戏),它要求输入多次遍历自己,在进行错误检查之前,我将立即删除所有空白。如何在另一个函数内调用多次返回变量的函数?
以减少冗余,我想制作另一个函数做两,然后返回,像这样的变量:
def startGame():
print("1, 2 or 3?")
response = response()
def response():
a = raw_input()
a = a.strip()
return a
startGame()
问题是我不断收到:
UnboundLocalError: local variable 'response' referenced before assignment.
这是没有因为响应被分配了response()
的返回值。
我错过了什么?有没有更简单的方法来做到这一点?
@Martijn_Pieters感谢。我不知道Python做到了,但现在我做到了! –
@JosephWebber:在函数中,您直接分配给的所有名称('somename = ...')将成为局部变量(语言编译器会这样做)。这不适用于属性('somename.someattribute ='),仅适用于直接名称。因此“响应”已经被定义为本地名称,但是在分配任何值之前您已尝试使用它。然后引发一个例外。 –