문제 내용
음료수의 종류에는 사과 주스, 포도 주스, 커피, 사이다, 우유, 레디큐가 있다.
사과주스 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 원 입니다
'코드예시👨🏻💻▶️ 파이썬' 카테고리의 다른 글
파이썬 짝수, 홀수 판별 프로그램 (0) | 2020.10.22 |
---|---|
파이썬 성적 등급 프로그램 (1) | 2020.10.22 |
파이썬 리스트에서 2개 값을 랜덤으로 뽑아 합을 맞추는 퀴즈 프로그램 (0) | 2020.10.22 |
파이썬 1부터 100까지 합할 때 3000을 넘는 시기를 찾는 프로그램 (0) | 2020.10.22 |
파이썬 스마트폰 잠금해제 프로그램 (0) | 2020.10.22 |