본문 바로가기

Computer Science&Engineering/파이썬

과일 전문점 재고, 가격 계산 프로그램

과일전문점이 있다.

종류 수량 금액
사과파이 5 5000
사과쥬스 2 2000
사과 1 1000

현재 사과재고는 30개가 있다.
메뉴를 고를 때마다 재고의 해당 메뉴대로 재고가 소진
해당 금액에 해당하는 금액이상시에만 주문 가능
(금액 입력시 숫자 외에 입력하면 재 입력 하도록 할 것)

금액 제출시 초과 금액은 거스름돈 출력 해당 재고가 떨어졌으면 "해당 재고가 없습니다."라는 메세지 출력과 함께 "마감합니다." 종료

입력창
-----------------------------
종류 금액
1.사과파이 : 5000
2.사과쥬스 : 2000
3.사과 : 1000
----------------------------
메뉴를 선택하시오(번호를 누르시오) :
돈을 내시오 :

코드

apple = int(input("입고할 사과량을 정하시오 : "))
money = 0
MENU='''
-----------------------------
종류        금액
1.사과파이 : 5000
2.사과쥬스 : 2000
3.사과     : 1000
----------------------------
메뉴를 선택하시오(번호를 누르시오) : '''

store={'1':(5000,5),'2':(2000,2),'3':(1000,1)}

while apple !=0 :
	choice=input(MENU)
	if choice not in store.keys():
		print("\n잘못선택하셨습니다.")
		continue
	use_apple=store[choice][1]
	sales_money=store[choice][0]
		
	if apple < use_apple:
		print("재고가 부족합니다.\n\n다른 메뉴를 선택해주세요")
		continue
	
	while apple != 0:
		while True:
			inmoney=input("\n금액 : ")
			for c in inmoney:
				a=1
				if c not in "0123456789":	
					print(" 숫자를 입력하지 않았습니다.")
					a=a-1
					break
			if a ==1:
				inmoney=int(inmoney)
				break

		if inmoney < sales_money:
			print("금액이 부족합니다. 다시 금액을 내시오.")
			continue
		elif inmoney > sales_money:
			apple=apple-use_apple
			money=money+sales_money
			print("{}을 주문하셨고 {}원을 지불하셨습니다. {}을 거슬러드립니다.\n사과 재고는 {}개 입니다.".format(choice,inmoney,inmoney-sales_money,apple))
			break
		else:
			apple=apple-use_apple
			money=money+sales_money
			print("{}을 주문하셨고 {}원을 지불하셨습니다.\n사과 재고는 {}개 입니다.".format(choice,inmoney,apple))
			break
	
	if apple == 0:
		print("마감합니다. 오늘 매출은 {} 입니다.".format(money))

실행결과

...

반응형