물건 계산코드를 연습중입니다.
조회수 2108회
조건은 이렇습니다.
마트에서 물건을 사면 남은 금액을 알려주는 프로그램입니다
물건을 입력받으면 현재금액에서 물건가격을 빼서 남은 금액을 계산한다.
(물건의 가격은 사전으로 주어짐다.)
현금이 부족할 때 이 프로그램은 종료된다.
물건을 구입할 때마다, 현재 가격과 이제까지 구입한 물건을 알려준다
그래서 현재 작성해본 코드가
## 현재금액
pres_money=5000
## 물건가격
goods_price = {'사과':1500, '계란':2000,'고등어':3300, '갈비':4000}
goods_list=[]
## 코드
while(1):
a = input('원하는 물건을 입력하시오(사과,계란,고등어,갈비 중):')
if '사과' or '계란' or '고등어' or '갈비' in a:
print('현재잔액:', pres_money -= goods_price.get(a))
print( goods_list.append(a) )
if pres_money == 0:
break
else:
continue
이렇게 했는데 할당연산자가 작동을 안하더군요 문제점이 뭘까요? 5000원에서 1500원을 빼고 기억된 3500원 값에서 2000원을 또 빼는 방법이 위 방법말고 또 있을까요??
1 답변
-
아래예제를 분석해보세요.
매번 빼는 연산할 필요없이 goods_sum_price 이 값이 pres_money 보다 큰가만 확인해보면 되겠지요.
pres_money=5000 goods_price = {'사과':1500, '계란':2000,'고등어':3300, '갈비':4000} goods_list = ['사과', '고등어'] # 두 상품 입력받았다고 가정. goods_sum_price = sum(goods_price[goods]for goods in goods_list) # 입력한 상품값 합계 goods_sum_price Out[6]: 4800 pres_money > goods_sum_price Out[7]: True
댓글 입력