Python/강의예제

[파이썬/Python/예제] 간단한 구매 시뮬레이션 프로그램 만들기 (이미지 출력 버전) (list, dic, mitplotlib)

상어꼬리 우두머리 2025. 1. 17. 14:52
728x90
반응형

당신은 3,000원의 돈을 가지고 있으며, 아이스크림, 커피, 사탕을 판매하는 가게에 방문했습니다. 각 품목의 가격은 다음과 같습니다:

  • 아이스크림: 1,000원 -커피: 2,000원 -사탕: 500원

다음과 같은 규칙을 만족하는 프로그램을 작성하세요:

  1. 사용자가 구매하고 싶은 품목을 입력합니다.
  2. 입력된 품목의 가격이 현재 남은 돈보다 적거나 같으면 해당 품목을 구매하고, 남은 돈에서 가격을 차감합니다.
  3. 입력된 품목의 가격이 남은 돈보다 비싸거나 잘못된 입력값(가게에 없는 품목)이 들어오면 적절한 메시지를 출력합니다.
  4. 남은 돈이 0원이 되면 프로그램을 종료하고 "돈이 모두 소진되었습니다. 프로그램을 종료합니다."라는 메시지를 출력합니다.
  5. 각 구매 후 남은 돈을 출력합니다.

 

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

# 가격 정보
아이스크림 = 1000
커피 = 2000
사탕 = 500
돈 = 3000

# 구매한 물품을 저장할 리스트
구매목록 = []

# 각 항목에 대한 이미지 파일 경로
이미지_경로 = {
    "아이스크림": "ice_cream.jpg",
    "커피": "coffee.jpg",
    "사탕": "candy.jpg"
}

while 돈 > 0:
    선택 = input("무엇을 구매하시겠습니까? (아이스크림/커피/사탕): ").strip()
    
    if 선택 == "아이스크림" and 돈 >= 아이스크림:
        돈 -= 아이스크림
        구매목록.append("아이스크림")
        print("아이스크림을 구매하셨습니다.")
    elif 선택 == "커피" and 돈 >= 커피:
        돈 -= 커피
        구매목록.append("커피")
        print("커피를 구매하셨습니다.")
    elif 선택 == "사탕" and 돈 >= 사탕:
        돈 -= 사탕
        구매목록.append("사탕")
        print("사탕을 구매하셨습니다.")
    else:
        print("구매가 불가능합니다. (돈이 부족하거나 잘못된 입력)")
    
    print(f"남은 돈은 {돈}원입니다.")
    
    if 돈 == 0:
        print("돈이 모두 소진되었습니다. 프로그램을 종료합니다.")
        break

# 구매한 물품들의 이미지를 출력
for 물품 in 구매목록:
		# 이미지경로에서 물품키를 출력
    img = mpimg.imread(이미지_경로[물품])
    plt.imshow(img)
    #plt.title(f"{물품} 사진")
    plt.axis('off')  # 축을 표시하지 않음
    plt.show()
728x90
반응형