💯

맛집 평가

🍽️Real 평가

여러분이 다녀온 맛집의 음식, 분위기 등 모든 것을 평가해주세요!

import json
import os

DATA_FILE = "restaurant_reviews.json"

def load_data():
    if os.path.exists(DATA_FILE):
        with open(DATA_FILE, "r", encoding="utf-8") as f:
            return json.load(f)
    return []

def save_data(data):
    with open(DATA_FILE, "w", encoding="utf-8") as f:
        json.dump(data, f, ensure_ascii=False, indent=2)

def get_score_input(prompt):
    while True:
        try:
            score = int(input(f"{prompt} (1~5): "))
            if 1 <= score <= 5:
                return score
            else:
                print("⚠️ 1에서 5 사이의 숫자를 입력해주세요.")
        except ValueError:
            print("⚠️ 숫자만 입력 가능합니다.")

def score_to_stars(score):
    return '★' * score + '☆' * (5 - score)

def add_review(data):
    print("\n[맛집 평가 입력]")
    name = input("가게 이름: ")
    taste = get_score_input("맛")
    price = get_score_input("가격 대비 만족도")
    service = get_score_input("서비스")
    cleanliness = get_score_input("청결도")
    atmosphere = get_score_input("분위기")
    revisit = input("재방문 의사 (예/아니오): ")
    evaluation = input("이 가게에 대한 평가를 남겨주세요: ")

    review = {
        "가게 이름": name,
        "맛": taste,
        "가격": price,
        "서비스": service,
        "청결": cleanliness,
        "분위기": atmosphere,
        "재방문 의사": revisit,
        "평가": evaluation
    }

    data.append(review)
    save_data(data)
    print("✅ 리뷰가 저장되었습니다.")

def show_reviews(data):
    print("\n[전체 맛집 리뷰]")
    for i, r in enumerate(data, 1):
        print(f"\n{i}. {r['가게 이름']}  —  \"{r['평가']}\"")
        print(f"   맛: {score_to_stars(r['맛'])}")
        print(f"   가격: {score_to_stars(r['가격'])}")
        print(f"   서비스: {score_to_stars(r['서비스'])}")
        print(f"   청결: {score_to_stars(r['청결'])}")
        print(f"   분위기: {score_to_stars(r['분위기'])}")
        print(f"   재방문 의사: {r['재방문 의사']}")

def main():
    data = load_data()
    while True:
        print("\n--- 맛집 평가 프로그램 ---")
        print("1. 리뷰 작성")
        print("2. 전체 리뷰 보기")
        print("3. 종료")
        choice = input("메뉴 선택: ")

        if choice == "1":
            add_review(data)
        elif choice == "2":
            show_reviews(data)
        elif choice == "3":
            print("👋 프로그램을 종료합니다.")
            break
        else:
            print("⚠️ 메뉴 번호를 다시 확인해주세요.")

if __name__ == "__main__":
    main()
Loading...
No posts have been created