尝试为程序制作菜单和 运行 特定功能

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?