더북(TheBook)

조건 1에서 1보다 작거나 숫자가 아닌 값이 입력될 때 ValueError로 예외 처리를 해야 하므로 코드를 try-except 문 사이에 넣습니다. 이때 while 문까지 통째로 넣으면 잘못된 값이 입력될 때 while 문 밖에 있는 except 문에서 예외 처리돼 프로그램이 바로 종료됩니다. 그래서 잘못된 값을 입력하더라도 반복문이 계속 실행되도록 while 문 내부 코드만 try-except 문으로 감쌉니다.

chicken = 10
waiting = 1

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