본문 바로가기
Python

간단한 자판기 프로그램 (Python)

by 헬로제이콥 2025. 12. 22.

🛠️ 빈칸 채우기 형식 (초급자용)

아직 코딩이 서툰 학생들을 위해 아래 빈칸을 채워 완성하도록 유도해 보세요.

Python
 
# 1. 딕셔너리 만들기
vending = {"콜라": 1500, "사이다": 1200, "생수": 800}

# 2. items()를 사용해 메뉴판 보여주기
print("--- 메뉴판 ---")
for name, price in vending._______(): # 빈칸
    print(f"{name}: {price}원")

# 3. keys()를 사용해 품목 리스트 보여주기
print(f"판매 품목: {list(vending._______())}") # 빈칸

# 4. 사용자 입력 및 get() 활용
choice = input("어떤 음료를 드릴까요? ")
result = vending._______(choice, "미등록") # 빈칸

if result == "미등록":
    print("해당 상품이 없습니다.")
else:
    print(f"{choice}의 가격은 {result}원입니다.")

✅ 정답 예시 (선생님 확인용)

<details> <summary>여기를 눌러 정답 코드를 확인하세요</summary>

Python
 
vending = {"콜라": 1500, "사이다": 1200, "생수": 800}

print("--- 메뉴판 ---")
for name, price in vending.items():
    print(f"{name}: {price}원")

print(f"판매 품목: {list(vending.keys())}")

choice = input("어떤 음료를 드릴까요? ")
result = vending.get(choice)

if result is None:
    print("해당 상품이 없습니다.")
else:
    print(f"{choice}의 가격은 {result}원입니다.")

 

 

🥤 간단한 자판기 프로그램 (Python)

이 프로그램은 메뉴 조회, 가격 확인, 구매라는 세 가지 기능을 포함합니다.

Python
 
# 1. 딕셔너리로 자판기 메뉴와 가격 설정
vending_machine = {
    "콜라": 1500,
    "사이다": 1200,
    "생수": 800,
    "커피": 1000
}

print("=== 자판기 메뉴 ===")
# items()를 사용하여 메뉴판 출력
for item, price in vending_machine.items():
    print(f"- {item}: {price}원")

print("-" * 20)

# 2. 사용자로부터 음료 이름 입력 받기
choice = input("구매하고 싶은 음료 이름을 입력하세요: ")

# 3. get()을 사용하여 메뉴 확인 및 가격 가져오기
# 입력한 메뉴가 없으면 0을 반환하도록 설정
price = vending_machine.get(choice, 0)

if price != 0:
    print(f"✅ {choice}를 선택하셨습니다. 가격은 {price}원입니다.")
else:
    print("❌ 해당 음료는 자판기에 없습니다.")

# 4. keys()를 활용해 현재 판매중인 전체 품목 리스트 보여주기
all_items = list(vending_machine.keys())
print(f"\n[참고] 현재 주문 가능한 전체 리스트: {all_items}")

🖥️ 실행 결과 예시

사용자가 "콜라"를 입력했을 때:

Plaintext
 
=== 자판기 메뉴 ===
- 콜라: 1500원
- 사이다: 1200원
- 생수: 800원
- 커피: 1000원
--------------------
구매하고 싶은 음료 이름을 입력하세요: 콜라
✅ 콜라를 선택하셨습니다. 가격은 1500원입니다.

[참고] 현재 주문 가능한 전체 리스트: ['콜라', '사이다', '생수', '커피']

사용자가 없는 메뉴인 "주스"를 입력했을 때:

Plaintext
 
구매하고 싶은 음료 이름을 입력하세요: 주스
❌ 해당 음료는 자판기에 없습니다.

💡 학생들을 위한 학습 포인트

  1. items(): 반복문 안에서 음료 이름과 가격을 동시에 꺼내서 보여줄 때 유용합니다.
  2. get(): 사용자가 오타를 내거나 없는 메뉴를 입력했을 때 프로그램이 멈추지(에러 나지) 않고 "없음" 처리를 할 수 있게 해줍니다.
  3. keys(): 현재 자판기가 어떤 품목들을 가지고 있는지 목록(List)으로 변환하여 보여줄 때 사용합니다.