물건 계산코드를 연습중입니다.

조건은 이렇습니다.

마트에서 물건을 사면 남은 금액을 알려주는 프로그램입니다

물건을 입력받으면 현재금액에서 물건가격을 빼서 남은 금액을 계산한다.

(물건의 가격은 사전으로 주어짐다.)

현금이 부족할 때 이 프로그램은 종료된다.

물건을 구입할 때마다, 현재 가격과 이제까지 구입한 물건을 알려준다

그래서 현재 작성해본 코드가

## 현재금액
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
    
    

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.