[python] 나도코딩 Quiz.3

박민주·2021년 6월 3일
0

파이썬

목록 보기
16/16
# Quiz) 제주에 항상 대기 손님이 있는 맛있는 돈까스집이 있다.
# 대기 손님의 돈까스 요리 시간을 줄이고자 자동 주문 시스템을 제작.
# 시스템 코드를 확인하고 적절한 예외처리 구문을 넣으시오.

# 조건1 : 1보다 작거나 숫자가 아닌 입력값이 들어올 때는 ValueError 로 처리
#         출력 메세지 : "잘못된 값입니다. 다시 확인해주세요."
# 조건2 : 대기 손님이 주문할 수 있는 총 돈까스량은 50마리로 한정
#         돈까스 소진 시 사용자 정의 에러[SoldOutError]를 발생시키고 프로그램 종료
#         출력 메세지 : "재고 모두 소진. 주문 불가합니다."
# 조건3 : 주문을 마칠 때 마무리 인사말 추가
#		  출력 메세지 : "이용해주셔서 감사합니다."
# [코드]

class SoldOutError(Exception):
    pass

katsu = 50
waiting = 1 # 대기번호 1부터 시작
while(True):
    try:
        print("[남은 돈까스 : {0}]".format(katsu))
        if katsu > 0:
       		order = int(input("돈까스 몇 마리 주문하시겠습니까?"))
        if order > katsu : # 남은 돈까스보다 주문량이 많을때
            print("재료가 부족합니다.")
        
        elif order <= 0:
            raise ValueError

        else:
            print("[대기번호 {0}] {1} 마리 주문이 완료되었습니다."\
                .format(waiting, order))
            waiting += 1
            katsu -= order

        if katsu == 0:
            raise SoldOutError
            
    except ValueError:
            print("잘못된 값을 입력하였습니다.")
    except SoldOutError:
            print("재고가 소진되어 더 이상 주문을 받지 않습니다.")
            break
            
    finally:
            print("이용해주셔서 감사합니다.")
profile
개발공부

0개의 댓글