더북(TheBook)

실습 문제

class SoldOutError(Exception):
    pass
chicken = 10 # 남은 치킨 수
waiting = 1 # 대기번호, 1부터 시작

while True:
    try:
        print("[남은 치킨 : {0}]".format(chicken))
        order = int(input("치킨을 몇 마리 주문하시겠습니까? "))
        if order > chicken: # 남은 치킨보다 주문량이 많을 때
            print("재료가 부족합니다.")
        elif order <= 0:
            raise ValueError
        else:
            print("[대기번호 {0}] {1}마리를 주문했습니다.".format(waiting, order))
            waiting += 1 # 대기번호 증가
            chicken -= order # 주문 수만큼 남은 치킨 감소
        if chicken == 0:
            raise SoldOutError
    except ValueError:
        print("잘못된 값을 입력했습니다.")
    except SoldOutError:
        print("재료가 소진돼 더 이상 주문을 받지 않습니다.")
        break

실행결과 icon_con

[남은 치킨 : 10]
치킨을 몇 마리 주문하시겠습니까? 10
[대기번호 1] 10마리를 주문했습니다.
재료가 소진돼 더 이상 주문을 받지 않습니다.
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.