[실습] 5. 키오스크(cafe)

PurinYun·2023년 11월 16일
0

AIffel

목록 보기
15/75

메뉴와 가격

menu = ['americano', 'latte', 'mocha', 'yuza_tea', 'green_tea', 'choco_latte']
price = [2000, 3000, 3000, 2500, 2500, 3000]
class Kiosk
	def __init__(self):
    	self.menu = menu
        self.price = price
       
a = kiosk()
a.menu
a.price

['americano', 'latte', 'mocha', 'yuza_tea', 'green_tea', 'choco_latte'][2000, 3000, 3000, 2500, 2500, 3000]

메뉴판 출력하기

self.menu에 있는 갯수만큼 메뉴를 출력하는 menu_print() 메서드를 작성

class Kiosk:
	def __init__(self):
    	self.menu = menu
        self.price = price
        
    def menu_print(self):
    	for i in range(len(self.menu)):
        	print(i+1, self.menu[i], ':', self.price[i], '원')
            
a = Kiosk()					#객체 생성
a.menu_print()				#메뉴 출력

1 americano : 2000 원
2 latte : 3000 원
3 mocha : 3000 원
4 yuza_tea : 2500 원
5 green_tea : 2500 원
6 choco_latte : 3000 원

주문하기

def menu_select(self):
	n = int(input("음료번호 입력 : "))
    self.price_sum = self.price[n-1]
    
    print(self.menu, ':', self.price, '원')

예외처리 추가

def menu_select(self):
	n = 0
    while n < 1 or len(menu) < n:
    	n = int(input("음료번호를 입력 : "))
        
        #메뉴판에 있는 음료 번호일 때
        if 1 <= n & n <= len(menu):
        	self.price_sum = self.price[n-1]
            print(self.menu, ':', self.price, '원')
            
        else:
        	print("없는 메뉴이니 다시 주문해주세요.")

전체

class Kiosk:    
    def __init__(self):
        # 문제 2-1의 답을 입력하세요. 
        self.menu = menu
        self.price = price

    # 메뉴 출력 메서드
    def menu_print(self):
        for i in range(len(self.menu)):
            print(i+1, self.menu[i], ' : ', self.price[i], '원')

    # 주문 메서드
    def menu_select(self):
        print()  # 줄 바꿈
        n = 0
        while n < 1 or len(menu) < n:
            n = int(input("음료 번호를 입력하세요 : "))  # 음료 번호 입력

            # 메뉴판에 있는 음료 번호일때
            if 1 <= n & n <= len(menu):
                self.price_sum = self.price[n-1]  # 선택 음료의 가격
             
                print(self.menu, ' : ', self.price, '원')

             # 메뉴판에 없는 번호일 때
            else:  
                print("없는 메뉴입니다. 다시 주문해 주세요.")
                
                
              # 음료 온도 물어보기
        t = 0  # 기본값을 넣어주고
        while t != 1 and t != 2:  # 1이나 2를 입력할 때까지 물어보기
            t= int(input("HOT 음료는 1을, ICE 음료는 2를 입력하세요 : "))
            # 음료의 온도에 따라 temp 변수를 "HOT" 또는 "ICE"로 지정하세요.   
            
            
            
            else:    
                print("1과 2 중 하나를 입력하세요.\n")
        # 문제 2-2의 답을 입력하세요. 
        print('주문 음료', self.temp, # [[YOUR CODE]], ' : ', # [[YOUR CODE]], '원')  # 온도 속성을 추가한 주문 결과 출력  
                
                
                
                
profile
Fantivation

0개의 댓글