본문 바로가기
프로그램

[파이썬] 문제 : 중국집 메뉴 주문

by 오디세이99 2022. 11. 28.
728x90
반응형

import random

group = ['면류', '밥류', '고기류', '음류', '주문 취소']
lst_noodle = ['짜장면','짬뽕']
lst_rice = ['짜장밥','짬뽕밥']

def recommend_menu(title, menu_lst):           # 함수는 별도로 정의. 제목, 메뉴 리스트
    ss = ', '.join(menu_lst)                   # 리스트의 요소를 합해서 문자열로 만듬
    reply = input(title +" : " + ss + " 중 한 가리를 랜덤으로 (예/아니오): ").strip()   # 
    
    if reply == "예":
        return random.choice(menu_lst)
    else:
        return "N"

def print_menu():
    while True:
        print("---메뉴 종류 선택---")
        for i in range(len(group)):                   # 리스트에 있는 내용을 출력. 메뉴가 변해도 재코딩하지 않아도 됨.
            print("1." + group[i])

        inputed_number = int(input("1~5번 선택 : "))

        m = ''                                         # print_menu 함수에서 최종적으로 return 해주는 변수,
        if inputed_number == 1:
            m = recommend_menu(group[0], lst_noodle)      # 함수 실행
        elif inputed_number == 2:
            m = recommend_menu(group[1], lst_rice)
        elif inputed_number == 5:
            print("주문을 취소했습니다.")
            m = "end"

        if m != "N":
            return m                                # 마지막에 return해줌. 위 코드들은 결국 이 변수의 내용을 만들어주기 위해 존재.

        
menu = print_menu()     # 함수를 실행

if menu != "end":       # return된 값에서 필요한 경우만 출력
    print(menu)
728x90
반응형

댓글