본문 바로가기
두두 IT/예제로 풀어보는 파이썬

커피 주문하기

by DoDo's 2026. 5. 11.
반응형

코드

print("""
        김재원 커피 자판기
           - 메   뉴 -

    1 : 아메리카노  1,800원
    2 : 카페라떼    2,700원
    3 : 핫 초코     2,300원
            

""")

print("=" * 70)
price = 0
total_price = 0
change = 0

order = int(input("커피 종류를 선택하세요 번호 입력 >>>> "))

if 1 <= order <= 3:
    #실행문

    if order == 1:
        price = 1800
        print("아메리카노를 선택하셨습니다")
               
    elif order == 2:
        price = 2700
        print("카페라떼를 선택하셨습니다.")
                
    elif order == 3:
        price = 2300
        print("핫 초코를 선택하셨습니다.")
                
            

    print("=" * 70)
    cups = int(input("몇 잔을 드릴까요? >>>> "))
           
    total_price = cups * price

    received = int(input(f"총 금액은 {total_price :,}원입니다. 돈을 투입해주세요 >>>> "))

    if received >= total_price:
        change = received - total_price
        print(f"{received :,}원을 받았습니다. 거스름돈은 {change :,}원입니다.")
        # 1,000원, 500원, 100원 예) 1,900원 --> 1,000원 1장, 500원 1개, 100원 4개
        # 1,000원 지폐 : 3700//1000, 500원 동전 : 잔액(700)//500

        change_1000 = change // 1000
        remain_1000 =  change % 1000
        change_500 = remain_1000 // 500
        remain_500 = remain_1000 % 500
        change_100 = remain_500 // 100

        print(f"1000원 지폐 {change_1000}장, 500원 동전 {change_500}개, 100원 동전 {change_100}개")
        
    else:
        print("돈이 부족합니다. 거래가 취소 되었습니다.")


else:
    print("잘문된 주문입니다. 다시 확인해주세요.!")

 

실행

        김재원 커피 자판기
           - 메   뉴 -

    1 : 아메리카노  1,800원
    2 : 카페라떼    2,700원
    3 : 핫 초코     2,300원
            


======================================================================
커피 종류를 선택하세요 번호 입력 >>>> 3
핫 초코를 선택하셨습니다.
======================================================================
몇 잔을 드릴까요? >>>> 23
총 금액은 52,900원입니다. 돈을 투입해주세요 >>>> 70000
70,000원을 받았습니다. 거스름돈은 17,100원입니다.
1000원 지폐 17장, 500원 동전 0개, 100원 동전 1개

 

배운점

아래의 지폐와 동전 관련된 부분은 수학적으로 아에 몰랐던 것인데 알 수 있게 되었다.

1.     change_1000 = change // 1000
        remain_1000 =  change % 1000
        change_500 = remain_1000 // 500
        remain_500 = remain_1000 % 500
        change_100 = remain_500 // 100

반응형