尝试为程序创建菜单并运行特定功能

时间:2015-01-16 18:30:05

标签: function nameerror

我正在尝试制作一个幸运饼干程序,我需要一个菜单​​,然后将执行所选选项的功能。当我尝试运行代码时出现错误,我需要能够运行所选择的功能(我只编写了选项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()

1 个答案:

答案 0 :(得分:1)

它尝试从全局范围访问变量。

def menu():
    global option
    ...

以上代码应该这样做 详细了解范围here

Maby尝试返回该值而不是使用全局变量:

def menu():
    ...
    return option

并相应地改变你的条件。

关于全局变量的一些观点:Why are global variables evil?