尝试为程序制作菜单和 运行 特定功能
trying to make a menu for a program and run a specific function
我正在尝试制作一个幸运饼干程序,我需要一个菜单,然后将执行所选选项的功能。当我尝试 运行 代码时出现错误,我需要能够 运行 选择的函数(我只编写了选项 1 的代码,因为我遇到了这个错误:(我需要将新的财富附加到文本文件的末尾)
追溯(最近一次通话):
文件 "N:\work\computing\fortune cookie\fortunecookie.py",第 9 行,位于
如果选项 == 1:
NameError:名称 'option' 未定义
def menu():
print "Your options are: "
print "1-Add a new fortune"
print "2-Tell my fortune"
print "3-Exit"
option = raw_input("What do you want to do?")
menu()
if option == 1:
addfortune()
elif option == 2:
tellfortune()
elif option == 3:
exitProgram()
else:
print("Invlaid menu choice")
menu()
def addfortune():
newfortune = input("What is the new fortune?")
f = open("fortune.txt","w")
f.write(str(newfortune))
f.close()
menu()
它试图从全局范围访问变量。
def menu():
global option
...
上面的代码应该可以做到。
阅读有关范围的更多信息 here
可能会尝试 return 该值而不是使用全局变量:
def menu():
...
return option
并相应地调整你的条件。
关于全局变量的一些看法:Why are global variables evil?
我正在尝试制作一个幸运饼干程序,我需要一个菜单,然后将执行所选选项的功能。当我尝试 运行 代码时出现错误,我需要能够 运行 选择的函数(我只编写了选项 1 的代码,因为我遇到了这个错误:(我需要将新的财富附加到文本文件的末尾) 追溯(最近一次通话): 文件 "N:\work\computing\fortune cookie\fortunecookie.py",第 9 行,位于 如果选项 == 1: NameError:名称 'option' 未定义
def menu():
print "Your options are: "
print "1-Add a new fortune"
print "2-Tell my fortune"
print "3-Exit"
option = raw_input("What do you want to do?")
menu()
if option == 1:
addfortune()
elif option == 2:
tellfortune()
elif option == 3:
exitProgram()
else:
print("Invlaid menu choice")
menu()
def addfortune():
newfortune = input("What is the new fortune?")
f = open("fortune.txt","w")
f.write(str(newfortune))
f.close()
menu()
它试图从全局范围访问变量。
def menu():
global option
...
上面的代码应该可以做到。
阅读有关范围的更多信息 here
可能会尝试 return 该值而不是使用全局变量:
def menu():
...
return option
并相应地调整你的条件。
关于全局变量的一些看法:Why are global variables evil?