如何在另一个函数内部调用多次返回变量的函数?

时间:2013-05-15 13:13:40

标签: python function return user-input

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

为了减少冗余,我想做另外两个函数,然后像这样返回变量:

def startGame():
    print("1, 2 or 3?")
    response = response()

def response():
    a = raw_input()
    a = a.strip()
    return a

startGame()

问题是我一直在接受:

  

UnboundLocalError:赋值前引用的局部变量'response'。

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

1 个答案:

答案 0 :(得分:7)

您将局部变量response 命名为;你不能这样做,它掩盖了全局response()功能。

重命名局部变量或函数:

def get_response():
    # ...


response = get_response()

def response():
    # ....

received_response = response()