未定义Python变量
目前我的代码有一个主菜单,它要求用户从打印出来的选项中进行选择,这在“def”函数中。在我定义的变量末尾,有一个输入提示,要求用户输入名为“option”的输入。然而,当我运行代码时,我得到了一个语法。i、 e: 守则:未定义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 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()内部定义的,因此在函数外部,它不存在。我是否可以将其设置为全局变量,但在需要时仍可以调用它?好的,这一切都很好,我理解。我只要去掉局部变量,每次使用这个函数时都引用它就行了?