더북(TheBook)

여기까지 작성하면 숫자가 아닌 값을 입력했을 때 입력값을 정수형으로 변환하는 int(input(...)) 부분에서 오류가 발생하므로 except 문에서 예외 처리를 합니다. 하지만 ‘1보다 작거나’에 해당하는 조건이 처리되지 않았으므로 코드를 보완하겠습니다. 입력값을 정수로 변환한 후 if 문으로 비교하므로 입력값이 1보다 작은 경우는 이 부분을 수정하면 됩니다. if 문에서 남은 치킨보다 주문량이 많은 경우(order > chicken)를 제외한 모든 경우는 else 문에서 정상 주문으로 처리됩니다. 그 사이에 elif 문을 추가해 입력값이 1보다 작은지 비교하고 1보다 작으면 ValueError를 발생시킵니다.

chicken = 10
waiting = 1

while True:
    try:
        print("[남은 치킨 : {0}]".format(chicken))
        order = int(input("치킨을 몇 마리 주문하시겠습니까? "))
        if order > chicken:
            print("재료가 부족합니다.")
        elif order <= 0: ---- ➋ 입력값이 1보다 작은 수일 때
            raise ValueError
        else:
            print("[대기번호 {0}] {1}마리를 주문했습니다.".format(waiting, order))
            waiting += 1
            chicken -= order
    except ValueError:
        print("잘못된 값을 입력했습니다.")
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.