2021. 5. 15. 13:04ㆍpython
문제
Quiz) 동네에 항상 대기 손님이 있는 맛있는 치킨집이 있습니다.
대기 손님의 치킨 요리 시간을 줄이고자 자동 주문 시스템을 제작하였습니다.
시스템 코드를 확인하고 적절한 예외처리 구문을 넣으시오.
치킨 소진 시 사용자 정의 에러[soldOutError]를 발생시키고 프로그램 종료
출력 메시지 : "재고가 소진되어 더 이상 주문을 받지 않습니다."
풀이
1.
chiken 은 10개로 지정, 대기번호는 1부터 시작이므로 변수로 지정해둔다.
일단 몇 마리를 주문할 건지 입력값을 사용자가 입력해야하기 때문에 input을 이용한다.
숫자값이 들어와야하기 때문에 input을 int로 감싸준다.
2.
또한 지속적으로 프로그램이 작동되어야 하기 때문에 while문에 true를 넣어 무한 반복을 실행시킨다.
order = int(input("치킨 몇 마리를 주문하시겠습니다?")) 로 order라는 변수를 만든다.
3.
위에서 정의한 order가 남은 치킨보다 주문량이 많으면 재료가 부족하다고 출력이 되어야 하기 때문에
if문 으로 조건을 걸어준다. order > chicken : 요로케
4.
그리고 그게 아니라면 else문으로 계속 늘어나는 대기번호 인 wating과 몇마리를 주문했는지 order를 넣고
print문을 작성한다. format을 이용하여 숫자를 증가시킨다.
5.
waiting +=1
chicken -= order
를 통해서 주문을 받을 때마다 대기번호는 늘리고 치킨수는 줄인다.
정답
chicken = 10
waiting = 1 #홀 안에는 현재 만석, 대기번호 1부터 시작
while(True):
print("[남은 치킨 : {0}]" .format(chicken))
order = int(input("치킨 몇 마리 주문하시겠습니까?"))
if order > chicken: # 남은 치킨보다 주문량이 많을 때
print("재료가 소진되어 더 이상 주문을 받지 않습니다.")
else:
print("[대기번호 {0}] {1} 마리 주문이 완료되었습니다." .format(waiting, order))
waiting += 1
chicken -= order
출력결과
[남은 치킨 : 10]
치킨 몇 마리 주문하시겠습니까? ( 8 입력 )
[대기번호 1] 8 마리 주문이 완료되었습니다.
[남은 치킨 : 2]
치킨 몇 마리 주문하시겠습니까? ( 2 입력 )
[대기번호 2] 2 마리 주문이 완료되었습니다.
[남은 치킨 : 0]
치킨 몇 마리 주문하시겠습니까? ( 1 입력 )
재료가 소진되어 더 이상 주문을 받지 않습니다.[남은 치킨 : 0]
치킨 몇 마리 주문하시겠습니까?
'python' 카테고리의 다른 글
Python 25 - (복습) 리스트, 튜플, 딕셔너리 (0) | 2021.05.17 |
---|---|
Python 24 - (복습) 숫자열, 문자열 (0) | 2021.05.16 |
Python 22- Quiz (0) | 2021.05.14 |
Python 21 - Quiz (0) | 2021.05.13 |
Python 20 - Quiz (0) | 2021.05.12 |