공부한 내용 정리하는 공간입니다.
틀린 내용이 있을 수 있습니다.
모든 지적, 첨언 환영합니다.
오늘의 코드
1. 주문 반복해서 받기
2. 주문 종료하기
3. 주문 내역 출력하기
4. 거스름돈 계산하기
menus = {"아메리카노":4000, "카페라떼":5000, "카페모카":6000}
order_list = []
total_price = 0
print("=====메뉴=====")
for name, price in menus.items():
print(f"{name}: {price}원")
while True:
selected_menu = input("주문할 메뉴를 입력하세요.")
price = menus.get(selected_menu,0)
if price != 0:
order_list.append(selected_menu)
total_price = total_price + menus[selected_menu]
elif selected_menu == "q":
print("주문종료")
break
else:
print("메뉴가 없습니다.")
print(f"선택한 메뉴 : {order_list}")
money = int(input("돈을 넣으세요."))
change = money - total_price
if change >= 0:
print(f"{len(order_list)}개 구매. 거스름돈은 {change}원 입니다.")
else:
print("돈이 모자랍니다.")
오늘의 코드 결과


오늘의 코드 설명
for name, price in menus.items():
딕셔너리 menus의 키:값을 튜플 형태로 반환하여 name, price에 저장
>name=아메리카노, 카페라떼, 카페모카
>price=4000, 5000, 6000
1. 주문 반복해서 받기
while True:
무한 루프
조건이 항상 참(True)이기 때문에, 계속 반복
break문을 사용하여 반복 종료
selected_menu = input("주문할 메뉴를 입력하세요.")
price = menus.get(selected_menu,0)
사용자에게서 메뉴 이름을 입력받아서 selected_menu에 저장
리스트 menus의 키에 selected_menu가 있으면 해당 값을 price에 저장
없으면 price에 0 저장
2. 주문 종료하기
if price != 0:
order_list.append(selected_menu)
total_price = total_price + menus[selected_menu]
price가 0이 아닐경우
selected_menu를 리스트 order_list에 요소로 추가하고
사용자가 입력한 메뉴 이름이 판매하는 메뉴에 있음
기존 total_price에 menus[selected_menu]를 더하여 다시 total_price에 저장
>selected_menu=사용자가 입력한 메뉴
>menus[selected_menu]=사용자가 입력한 메뉴의 가격
딕셔너리이름[키]=값
elif selected_menu == "q":
print("주문종료")
break
else:
print("메뉴가 없습니다.")
price가 0이면서 selected_menu가 q와 같을 경우 "주문종료" 출력 후 반복문 탈출
메뉴 입력 순서에서 q를 입력 (사용자가 입력한 메뉴가 판매하는 메뉴에 없고 q와 같음)
price가 0이면서 selected_menu가 q와 같지않을 경우 "메뉴가 없습니다" 출력 후 반복 진행
사용자가 입력한 메뉴가 판매하는 메뉴에 없고 q를 입력하지도 않았음
3. 주문 내역 출력하기
print(f"선택한 메뉴 : {order_list}")
>order_list=사용자가 입력한 메뉴 리스트
4. 거스름돈 계산하기
money = int(input("돈을 넣으세요."))
change = money - total_price
>money=사용자가 입력한 돈
>total_price=사용자가 입력한 메뉴의 가격 합
>change= 사용자가 입력한 돈- 사용자가 입력한 메뉴의 가격 합 =거스름돈
if change >= 0:
print(f"{len(order_list)}개 구매. 거스름돈은 {change}원 입니다.")
change가 0보다 크거나 같을 때 리스트 order_list의 요소 개수와 change 출력
거스름돈이 있거나 0일 때 실행
else:
print("돈이 모자랍니다.")
change가 0보다 작을 때 "돈이 모자랍니다." 출력
'클라우드기반 스마트 융합보안 과정 > Python' 카테고리의 다른 글
| [Python] .endswith(), os.path.join(), with open문, .read() (0) | 2025.01.14 |
|---|---|
| [Python] os.getcwd(), os.path.isfile(), os.path.isdir(), os.listdir(), os.walk() (0) | 2025.01.14 |
| [Python] 딕셔너리, .get() (0) | 2025.01.13 |
| [Python] .append(), max(), min(), sum() (0) | 2025.01.13 |
| [Python] enuerate(), zip() (0) | 2025.01.13 |