我如何调用一个函数返回一个变量,多次,而在另一个函数



我有一个函数(基于文本的游戏),在整个过程中多次要求输入,我希望在进行错误检查之前立即删除所有空白。

为了减少冗余,我想到了另一个函数来做这两件事,然后返回变量如下:

def startGame():
    print("1, 2 or 3?")
    response = response()
def response():
    a = raw_input()
    a = a.strip()
    return a
startGame()

问题是我一直得到:

UnboundLocalError:赋值前引用了本地变量'response'。

这对我来说没有意义,因为响应被分配给response()的返回值。
我错过了什么?有更简单的方法吗?

将本地变量命名为response too;你不能这样做,它会屏蔽全局response()函数。

重命名局部变量或函数:

def get_response():
    # ...

response = get_response()

def response():
    # ....
received_response = response()

相关内容

  • 没有找到相关文章

最新更新