Python 23- Quiz

2021. 5. 15. 13:04python

반응형

문제

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