더북(TheBook)

조건 1은 모두 처리했으니 이제 조건 2와 조건 3을 살펴보겠습니다. 대기 손님이 주문할 수 있는 치킨은 총 10마리이므로 남은 치킨 수가 0이 되면 SoldOutError를 발생시키고 안내 문구를 출력한 후 프로그램을 종료하면 됩니다. 먼저 코드 가장 윗줄에 사용자 정의 오류인 SoldOutError 클래스를 정의합니다. 세부 동작은 구현하지 않고 pass로만 작성합니다.

class SoldOutError(Exception): ---- ➌ 재고 소진 시 발생할 오류 정의
    pass
chicken = 10
waiting = 1

while True:
    (생략)

이제 while 문 안에서 남은 치킨 수가 0이 됐을 때 SoldOutError가 발생하면 되겠네요. 기존 if-else 문 아래에 새로운 if 문을 추가합니다. 그리고 SoldOutError를 처리하기 위한 except 문을 추가하고 조건 3에 제시한 안내 문구를 출력하도록 print() 문을 작성합니다. 또한, 더 이상 주문을 받을 수 없으므로 breakwhile 문을 탈출해 프로그램을 종료하게 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.