目前我的代码有一个主菜单,它要求用户从打印出的选项中进行选择,这是在' def'功能。在我定义的变量的末尾,有一个输入提示,要求用户输入名为' option'的输入。但是,当我运行代码时,我得到一个语法。即:
代码:
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
答案 0 :(得分:1)
选项是本地定义的。您可以从函数返回输入的值并将其分配给如下选项:
def main_menu():
print ("\nMain Menu ")
print ("\n1. Alphabetical Order (Highest Score only) = 'alpha'")
return input ("\nEnter your Option: ")
option = main_menu()
答案 1 :(得分:0)
您的变量option
仅在您的函数main_menu()
中本地定义,而非全局定义。
答案 2 :(得分:-1)
变量option
仅对函数main_menu
是本地的。你可以通过option
global:
def main_menu():
global option
#...
option = '...'