728x90
반응형
menu = {'뜨아':2000, '아아':3000, '라떼':3500, '모카':4000} # 메뉴를 딕셔너리로 정의
def viewMenu(m): # 메뉴 보여주는 함수
tmp = '' #
idx = 1
print('** 자판기 메뉴 **')
for key, value in m.items(): # items로 키와 값 받음
print(str(idx) + ' : ' + key + ' ' + str(value)) # 음료명과 가격 문자열 만듬
idx += 1
def calculate(m, drink_no, money): # 음료수와 거스름돈 내주는 함수 정의
price= m[list(m.keys())[drink_no]] # 딕셔너리에서 음료병으로 가격 찾음
c = money - price # 현금 - 가격 으로 거스름돈 계산
return c # 음료명과 가스름돈 리턴
viewMenu(menu) # 메뉴 보여주는 함수 실행
money = int(input('돈을 입력하세요 : ')) # 돈 입력 받음
while True:
drink_no = int(input('메뉴를 선택하세요(종료:0) : ')) # 음료 선택 입력
if drink_no == 0: # 0 입력시 종료
print(f'자판기 종료, 잔액 {money} 반환')
break # break로 while 반복문 빠져나감
elif drink_no > len(menu): # 매뉴 선택 번호가 크면 잘 못 입력 출력
print('잘 못 입력하였습니다.')
else:
c = calculate(menu, drink_no-1, money) # 메뉴와 거스름돈 내주는 함수 실행
print(f"{list(menu.keys())[drink_no-1]} 구입 완료")
print(f"잔액 : {c}") # 출력
money = c # 잔액을 보유 금액으로 대입
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 터틀 색 채우기 방법 (0) | 2022.12.13 |
---|---|
[파이썬] 화폐 환전코드 해석 (0) | 2022.12.13 |
[파이썬] 문제 : 문자열 중간 반복문자의 조작 (0) | 2022.12.11 |
[파이썬] 문제 : 튜링상 수상자 리스트,딕셔너리,집합 코드 해석 (0) | 2022.12.11 |
[파이썬] 문제 : 5명 학생 점수 입력 받아 파일 저장, 평균 계산 (1) | 2022.12.11 |
댓글