未定义Python变量

未定义Python变量,python,text-files,Python,Text Files,目前我的代码有一个主菜单,它要求用户从打印出来的选项中进行选择,这在“def”函数中。在我定义的变量末尾,有一个输入提示,要求用户输入名为“option”的输入。然而,当我运行代码时,我得到了一个语法。i、 e: 守则: def main_menu(): print ("\nMain Menu ") print ("\n1. Alphabetical Order (Highest Score only) = 'alpha'") opt

目前我的代码有一个主菜单,它要求用户从打印出来的选项中进行选择,这在“def”函数中。在我定义的变量末尾,有一个输入提示,要求用户输入名为“option”的输入。然而,当我运行代码时,我得到了一个语法。i、 e:

守则:

def main_menu():
        print ("\nMain Menu        ")
        print ("\n1. Alphabetical Order (Highest Score only) = 'alpha'")
        option = input ("\nEnter your Option:  ")

main_menu()

option_class = input("\nWhich Class do you wish to preview: ")
one = "1.txt"

if option == "alpha".lower():
        if option_class == "1":
                with open (one, "r") as r:
                        for line in sorted(r):
                                print (line, end='')
运行代码时,我收到以下语法:

NameError: name 'option' is not defined

变量
选项
仅在函数
主菜单()中局部定义,而不是全局定义。

变量
选项
仅在函数
主菜单
中局部定义。您可以通过设置
选项
全局来修复它:

def main_menu():
    global option
    #...
    option = '...'

请参阅:

选项是本地定义的。您可以从函数返回输入的值,并将其分配给如下选项:

def main_menu():
    print ("\nMain Menu        ")
    print ("\n1. Alphabetical Order (Highest Score only) = 'alpha'")
    return input ("\nEnter your Option:  ")

option = main_menu()

变量选项是在def main_menu()内部定义的,因此在函数外部,它不存在。我是否可以将其设置为全局变量,但在需要时仍可以调用它?好的,这一切都很好,我理解。我只要去掉局部变量,每次使用这个函数时都引用它就行了?