프로그램
[파이썬] 문제 : 상품명, 가격,수량 리스트 있을때 구매후 재고 출력
오디세이99
2022. 12. 5. 03:52
728x90
반응형
https://question99.tistory.com/446
[파이썬] 문제 : 2개의 튜플(리스트) 상품명, 가격이 있을때 상품명으로 가격 찾기
(문제) 파이썬 리스트 질문있습니다 list1 = ("과자", "초콜릿", "사탕") list2 = (1800, 1500, 1000) 이라고 했을 때 과자가 1800원, 초콜릿이 1500원, 사탕이 1000원인건데 최종 금액을 결제할 때 price = 원하는
question99.tistory.com
재고가 5개 씩 있고 원하는 수량만큼 구매하고 난 후 남은 재고 값 출력
list1 = ["과자", "초콜릿", "사탕"] # 튜플()에서 리스트로 [] 변경. 빼기를 해야해서.
list2 = [1800, 1500, 1000]
list3 = [5, 5, 5] # 재고 수량
end_flag = False
while True: # 잘 못 입력되었을때 다시 입력 할 수 있도록 반복 사용
name = input(f"{list1} 중 원하는 상품을 입력하세요: ") # 상품명 입력 받음
cnt = int(input(f"{name} 구매 수량을 입력하세요: ")) # 구매수량 입력 받음
if name in list1: # 입력받은 상품명이 튜플에 있는지 확인
while True:
if cnt <= list3[list1.index(name)]:
price = list2[list1.index(name)] # index를 사용해서 list1에 상품명에 데한 인덱스를 찾고 인덱스로 list2의 가격을 찾아옴
list3[list1.index(name)] -= cnt
print(f"{name}의 {cnt}개는 {price * cnt} 원입니다.") # 출력
print("="*30)
print("= 재고리스트 =")
for i in range(len(list1)):
print(f"({i+1}) {list1[i]} : {list2[i]} : {list3[i]}")
print("="*30)
end_flag = True
break # 반복문 종료
else:
print(f"{name}의 수량이 부족합니다.")
if end_flag == True:
break
else: # list1에 입력 받은 상품명이 없으면
print('상품명이 잘 못 입력되었습니다.')
728x90
반응형