2015-01-16 3 views
0

포춘 쿠키 프로그램을 만들려고하는데 메뉴가 필요합니다. 그러면 선택한 옵션의 기능이 실행됩니다. 코드를 실행하려고 할 때 오류가 발생합니다. 선택한 함수를 실행할 수 있어야합니다.이 오류를 건너 왔을 때 옵션 1의 코드 만 작성했습니다. (새 행운을 추가해야합니다. 텍스트 파일의 끝) 옵션 : == 1 일 경우 에있는 "N : \ work \ computing \ fortune cookie \ fortunecookie.py"파일의파일을 추적합니다. 가장 최근에 호출 한 번호 : NameError : name ' 옵션은 '프로그램에 대한 메뉴를 만들고 특정 기능을 실행하려고합니다.

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
그것은 글로벌 범위 변수를 액세스하려고

.

def menu(): 
    global option 
    ... 

T를 정의되지 않은 그는 위의 코드를 수행해야합니다.

def menu(): 
    ... 
    return option 

를 그리고 그것에 따라 당신의 조건을 설정 :
범위에 대해 자세히 알아 here

Maby 대신 전역 변수를 사용하는 값을 반환하려고합니다.

글로벌 변수에 대한 의견 : Why are global variables evil?