import random #추천기능 넣기 위함
# 메뉴와 가격을 저장할 딕셔너리
menu = {}
# 재고 딕셔너리
stock = {
"에스프레소": 10,
"아메리카노": 15,
"카페라떼": 8,
"카푸치노": 12
}
# 매출 정보를 저장할 변수
daily_sales = 0
# 메뉴를 추가하는 함수
def add_menu(item, price):
menu[item] = price
# 메뉴를 삭제하는 함수
def delete_menu(item):
if item in menu:
del menu[item]
print(f"{item} 메뉴가 삭제되었습니다.")
else:
print(f"{item} 메뉴는 메뉴 목록에 없습니다.")
# 주문을 받는 함수
def take_order():
global daily_sales # 전역 변수로 선언
print(f"주문 가능한 메뉴: \n{menu}")
print(f"재고정보: \n{stock}")
order = input("무엇을 주문하시겠습니까? (종료: '끝') \n 메뉴 추천을 원하시면 '추천' 입력: ")
if order == '추천':
recommend_menu()
order_list = []
total_pay = 0
while order != "끝":
if order in menu:
try:
quantity = int(input(f"{order} 몇 잔을 주문하시겠습니까? "))
if quantity <= 0:
print("잘못된 주문 수량입니다. 1 이상의 정수를 입력하세요.")
continue
except ValueError:
print("잘못된 입력입니다. 숫자를 입력하세요.")
continue
if stock[order] >= quantity: # 재고 확인
order_list.append((order, quantity))
total_pay += menu[order] * quantity
stock[order] -= quantity # 주문한 만큼 재고 감소
daily_sales += menu[order] * quantity # 매출 업데이트
else:
print(f"{order}의 재고가 부족합니다. 현재 재고: {stock[order]}")
elif order == '추천':
pass
else:
print("존재하지 않는 메뉴입니다.")
order = input("추가 주문하시겠습니까? (종료: '끝') ")
if order == "추천": #추가 주문 질문에서도 추천 가능.
recommend_menu()
else:
pass
print("주문 내역:")
for item, quantity in order_list:
print(f"{item} {quantity}잔")
print(f"총 결제금액: {total_pay}원")
print("감사합니다 또 오세요")
# 메뉴 추천 함수
def recommend_menu():
available_menus = [menu_item for menu_item in stock if stock[menu_item] > 0]
if available_menus:
recommended_menu = random.choice(available_menus)
print(f"추천 메뉴: {recommended_menu}")
else:
print("현재 재고로는 추천할 수 있는 메뉴가 없습니다.")
# 매출 확인 함수
def confirm_sales():
print(f"오늘의 매출: {daily_sales}원")
#가장 먼저 실행되도록 if문 추가
if __name__ == "__main__":
# 테스트용 메뉴 추가
add_menu("에스프레소", 4000)
add_menu("아메리카노", 4100)
add_menu("카페라떼", 4800)
add_menu("카푸치노", 4700)
# 주문받을 때, 실행
take_order()
# 매출 확인
confirm_sales()
colab에서 했습니다.