본문 바로가기
코딩 연습/파이썬 기초(예제)

파이썬 반복문 - 김밥 주문 계산하기 [파이썬기초(예제)]

by good4me 2022. 4. 15.

goodthings4me.tistory.com

김밥집에 왔다. 메뉴를 보니 김밥 4종류와 우동이 있다. 주문을 하기 위한 메뉴판을 출력하고 각 메뉴의 가격과 수량을 입력하면 자동으로 전체 금액이 계산되게 파이썬 코딩 연습을 해본다.

 

 

파이썬 터미널 메뉴판에서 김밥 주문하기

[소스 코드]

menus = [('소고기 김밥', 4000), ('돈가스 김밥', 3500), ('치즈 김밥', 3000), ('기본 김밥', 2500), ('우동', 5000)]

orders = []
total = 0
sw = True
while sw:
    value = []
    print('=' * 30)
    for i, menu in enumerate(menus, 1):
        print(f'[{i}] {menu[0]} {menu[1]:,}')
    print('=' * 30)

    try:
        menu_no = int(input('메뉴 선택(종료:0)> '))
    except:
        print('잘 못 누르셨어요!\n')
        continue

    if not menu_no:
        break
    elif menu_no < 0 or menu_no > len(menus):
        print('메뉴 번호를 잘 못 누르셨어요!')
        continue
    else:
        value.append(menu_no - 1)
        while True:
            try:
                count = int(input(f'{menus[menu_no - 1][0]} 몇 인분요?> '))
            except:
                print('잘 못 누르셨어요!\n')
                continue
            if count < 0 or count > 100:
                print('잘 못 누르셨어요!\n')
                continue            
            else:
                value.append(count)
                print(f'{menus[menu_no - 1][0]}을 장바구니에 넣었습니다.')
                orders.append(value)
                print(orders)
                break
        
        while True:
            other = input('주문을 계속하시겠습니까?("y" or "n")> ')
            if other in('y', 'Y'):
                break
            elif other in('n', 'N'):
                for order in orders:
                    total += menus[order[0]][1] * order[1]
                sw = False
                break
            else:
                print('잘 못 누르셨어요!\n')
                continue

print(f'주문 총 금액: {total:,}원')

 

good4me.co.kr

 

[실행 결과]

==============================
[1] 소고기 김밥 4,000
[2] 돈가스 김밥 3,500
[3] 치즈 김밥 3,000
[4] 기본 김밥 2,500
[5] 우동 5,000
==============================
메뉴 선택(종료:0)> 1
소고기 김밥 몇 인분요?> 2
소고기 김밥이 장바구니에 넣었습니다.  
[[0, 2]]
주문을 계속하시겠습니까?("y" or "n")> n
주문 총 금액: 8000원

(venv) D:\pythonDev>

==============================
[1] 소고기 김밥 4,000
[2] 돈가스 김밥 3,500
[3] 치즈 김밥 3,000
[4] 기본 김밥 2,500
[5] 우동 5,000
==============================
메뉴 선택(종료:0)> 1
소고기 김밥 몇 인분요?> 3
소고기 김밥이 장바구니에 넣었습니다.  
[[0, 3]]
주문을 계속하시겠습니까?("y" or "n")> y
==============================
[1] 소고기 김밥 4,000
[2] 돈가스 김밥 3,500
[3] 치즈 김밥 3,000
[4] 기본 김밥 2,500
[5] 우동 5,000
==============================
메뉴 선택(종료:0)> 2
돈가스 김밥 몇 인분요?> 2
돈가스 김밥이 장바구니에 넣었습니다.  

[[0, 3], [1, 2]]
주문을 계속하시겠습니까?("y" or "n")> n
주문 총 금액: 19,000원

(venv) D:\pythonDev>

 

 

댓글