我正在尝试制作一个幸运饼干程序,我需要一个菜单,然后将执行所选选项的功能。当我尝试运行代码时出现错误,我需要能够运行所选择的功能(我只编写了选项1的代码,因为我遇到了这个错误:(我需要将新的财富追加到文本文件的结尾) Traceback(最近一次调用最后一次): 文件“N:\ work \ computing \ fortune cookie \ fortunecookie.py”,第9行,in 如果选项== 1: NameError:未定义名称“选项”
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()
答案 0 :(得分:1)
它尝试从全局范围访问变量。
def menu():
global option
...
以上代码应该这样做 详细了解范围here
Maby尝试返回该值而不是使用全局变量:
def menu():
...
return option
并相应地改变你的条件。
关于全局变量的一些观点:Why are global variables evil?