코드예시👨🏻‍💻▶️ 파이썬

파이썬 자판기의 거스름돈 계산 프로그램 작성하기

코뮤니티 2020. 10. 22. 23:48

문제 내용

음료수의 종류에는 사과 주스, 포도 주스, 커피, 사이다, 우유, 레디큐가 있다. 

 

사과주스 450원 / 포도 주스 700원 / 커피 850원 / 사이다 1250원 / 우유 1500원 / 레디큐 2000원이다.

돈을 투입하고 마실 음료수들을 선택한 뒤거스름돈을 나타내는 프로그램을 작성해보자.

 

주의사항

1. 돈은 50원 단위로만 투입가능

2. 거스름돈은 최대 1000원 최소 50원으로 반환

 

 

문제 풀이

drink_list = {'사과 주스' : 450, '포도 주스' : 700,'커피' : 850,'사이다' : 1250,
	'우유' : 1500,'레디큐' : 2000 }

#전역 변수 정의 (함수에서 사용하기 위해!)
count_1000 = 0
count_500 = 0
count_100 = 0
count_50 = 0

def calc_change(data):
    global count_1000
    global count_500
    global count_100
    global count_50

    count_1000 = int(data / 1000)

    data = data % 1000
    count_500 = int(data / 500) 

    data = data % 500
    count_100 = int(data / 100)

    data = data % 100
    count_50 = int(data / 50)

    return count_1000,count_500,count_100, count_50



#돈을 투입 받자! 단 50원 단위로~
while True :
    money = int(input("돈을 투입하세용: "))
    if money % 50 != 0 : #50으로 나눈 나머지가 0이 아니면, 즉 50원 단위로 안떨어지면
        print("50원 단위로 넣어주세욤")
    else:
        break


#음료를 선택하자! 단 자판기 리스트에 있는 것으로!
while True:
    print(drink_list)
    drink_select = input("음료를 선택하세요: ")

    if drink_select not in drink_list.keys(): #내가 입력한 음료가 자판기 리스트에 없다면
        print("잘못된 입력입니다. 올바르게 선택해 주세요")

    else:
        drink_price = drink_list[drink_select] #내가 선택한 음료의 가격은 자판기 리스트의 value 값!


        #돈이 부족한지 아닌지 체크
        if drink_price > money:
            print("현재 돈",money)
            add_money = int(input("투입한 돈이 모자랍니다. 돈을 추가하세요."))
            money += add_money
        else:
            break


#거스름돈 계산 함수를 사용하자!
all_change = money - drink_price
calc = calc_change(all_change)

print("거스름돈은 %d원 %d장" % (1000, count_1000), "%d원 %d개" % (500, count_500),
	"%d원 %d개" % (100, count_100),"%d원 %d개" % (50, count_50))
print("총",all_change,"원 입니다")

 

 

코드 결과

 

#예시 1
돈을 투입하세용: 5000
{'사과 주스': 450, '포도 주스': 700, '커피': 850, '사이다': 1250, '우유': 1500, '레디큐': 2000}
음료를 선택하세요: 사과 주스
거스름돈은 1000원 4장 500원 1개 100원 0개 50원 1개
총 4550 원 입니다

#예시 2
돈을 투입하세용: 50
{'사과 주스': 450, '포도 주스': 700, '커피': 850, '사이다': 1250, '우유': 1500, '레디큐': 2000}
음료를 선택하세요: 포도 주스
현재 돈 50
투입한 돈이 모자랍니다. 돈을 추가하세요.200
{'사과 주스': 450, '포도 주스': 700, '커피': 850, '사이다': 1250, '우유': 1500, '레디큐': 2000}
음료를 선택하세요: 포도
잘못된 입력입니다. 올바르게 선택해 주세요
{'사과 주스': 450, '포도 주스': 700, '커피': 850, '사이다': 1250, '우유': 1500, '레디큐': 2000}
음료를 선택하세요: 포도 주스
현재 돈 250
투입한 돈이 모자랍니다. 돈을 추가하세요.350
{'사과 주스': 450, '포도 주스': 700, '커피': 850, '사이다': 1250, '우유': 1500, '레디큐': 2000}
음료를 선택하세요: 포도 주스
현재 돈 600
투입한 돈이 모자랍니다. 돈을 추가하세요.100
{'사과 주스': 450, '포도 주스': 700, '커피': 850, '사이다': 1250, '우유': 1500, '레디큐': 2000}
음료를 선택하세요: 사과 주스
거스름돈은 1000원 0장 500원 0개 100원 2개 50원 1개
총 250 원 입니다

 

 

나와 어울리는 개발자 유형 찾기

MBTI로 알아보는 개발자 유형 내 안의 개발자를 찾아서...⭐

comu.codeuniv.kr