Python:尝试调用函数时得到一个undefine变量错误?

时间:2015-10-20 04:58:46

标签: python undefined

我仍然是Python的新手,但似乎我遇到了一个问题。尝试调用另一个定义该变量的函数时,我得到一个未定义的错误。

def unpackCon():
    unpackConfirm = input("Unpack contents?[Y/N] ")

def unpackConScript():
    if unpackConfirm == "y":
        print ("Unpack confirmed.")
    elif unpackConfirm == "n":
        print ("Unpack unconfirmed.")
    else:
        print ("Value %s is not valid.") % (unpackConfirm)
        unpackCon()

unpackCon()
unpackConScript()

了解Python,它可能与缩进和排序有关。起初我认为这是因为我在没有先定义它的情况下调用了函数,但是我多次切换了订单而没有结果。

感谢答案!

1 个答案:

答案 0 :(得分:1)

unpackConfirmunpackCon()内定义,在另一个函数中超出范围。您需要返回变量才能访问它。

尝试:

def unpackCon():
    unpackConfirm = input("Unpack contents?[Y/N] ").lower()
    return unpackConfirm

def unpackConScript():
    unpackConfirm = unpackCon()

    if unpackConfirm == "y":
        print ("Unpack confirmed.")
    elif unpackConfirm == "n":
        print ("Unpack unconfirmed.")
    else:
        print ("Value %s is not valid.") % (unpackConfirm)
        unpackCon()

unpackConScript()