>

파이썬에서 번호가 매겨진 메뉴를 만들려고하고 있는데 "구문 분석 중 예기치 않은 EOF"라는 오류 메시지가 표시되면 어떻게해야할지 모르겠습니다. 누구든지 도울 수 있습니까?

menu = 0
menu = int(input("pick an option:\n"
                 "1 print all records in system:\n"
                 "2 print employee details:\n"
                 "3 print total salary:\n"
                 "4 print average salary:\n"
                 "5 add new employee to system:\n"
                  "6 staff positions:\n"
                  "7 salarys over £30,000:\n"
                 "8 exit:\n\n"
                 "Option selected: ")

  • 답변 # 1

    여기보다 명확하고 유연한 메뉴 렌더링 버전이 있습니다. 아래 버전에서는 사용자가 숫자가 아닌 문자를 입력하면 ValueError가 발생하지 않습니다. 마음에 들지 않는 것을 자유롭게 변경하고 확장 할 수 있습니다.

    # Use OrderedDict or a list, if you're compiling on Python 3.5 or older
    menu_items = {
        "1": "Print all records in system:",
        "2": "Print employee details:",
        "3": "Print total salary:",
        "4": "Print average salary:",
        "5": "Add new employee to system:",
        "6": "Staff positions:",
        "7": "Salarys over £30,000:",
        "8": "Exit:"
    }
    option = None
    print("Pick an option\n")
    while True:
        print('\n'.join(["{} {}".format(idx, menu_item)
                         for idx, menu_item in menu_items.items()]))
        option = input("\nOption selected: ")
        if option not in menu_items:
            print("Invalid option. Try Again")
        else:
            break
    print("Do something with option {}".format(option))  # now you can even cast option to int without any error
    
    

  • 답변 # 2

    결국 괄호를 잊어 버렸습니다 :

    menu = 0
    menu = int(input("""\
    pick an option:
    1 print all records in system:
    2 print employee details:
    3 print total salary:
    4 print average salary:
    5 add new employee to system:
    6 staff positions:
    7 salarys over £30,000:
    8 exit:
    Option selected: """)) # here
    
    

    이 작동합니다.

관련 자료

  • 이전 jquery - html5 오디오 루프 4x 재생 후 정지
  • 다음 python - 도움말 섹션에 선택적으로 나열된 상호 배타적 인 필수 인수에 대한 솔루션이 있습니까?