파이썬 딕셔너리 질문있습니다
조회수 639회
- 빈 딕셔너리 생성
- 상품명과 값 입력(5번 반복)
- 구매할 상품명 반복하여 입력받음(없는 상품명을 입력하면 해당 상품이 없다고 출력하고 반복 종료)
- 총 구매 금액 출력
dic={}
for i in range(0,5):
a = input('상품명 : ')
price = input('가 격 : ')
dic[a] = price
print(dic)
for i in dic:
sangpum = input("구매할 상품 : ")
if sangpum in dic:
print(dic[price])
else:
print(sangpum+"은/는 없습니다!")
break
제가 짠 코드입니다. if 절에서 출력했을 때 각 상품의 가격을 출력하고 싶은데 마지막에 입력한 값으로 고정 되어 있는 것 같아요..
line 13, in <module>
print(dic[price])
KeyError: '4500'
이 오류가 뜹니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
2 답변
-
dic[sangpum] 이어야 합니다.
- 감사합니다! 알 수 없는 사용자 2021.5.10 15:33
- sum사용해서 총합계를 구하고 싶은데 어떻게 써야할까요? 알 수 없는 사용자 2021.5.10 16:26
- @초보개발 : 아주 다 날로 드시겠다? nowp 2021.5.10 16:33
- 아니요 sum 사용했는데 TypeError: 'NoneType' object is not iterable 이렇게 떠서요.. 알 수 없는 사용자 2021.5.10 16:53
- @초보개발 : 그런 걸 혼자 고민하고 풀어가셔야 초보에서 벗어납니다. 에러메시지부터 구글에 넣고 검색해 보세요. nowp 2021.5.10 16:57
- 넵! 알 수 없는 사용자 2021.5.10 17:01
- 진짜 죄송한데 저 위에 코드 중에는 틀린게 없나요 아무리 찾아보고 고민해봐도 모르겠어요.. 알 수 없는 사용자 2021.5.10 17:43
-
sum을 사용하는방법도 있지만
귀찮아서그냥더해갔습니다.dic={} for i in range(0,5): a = input('상품명 : ') price = int(input('가 격 : ')) dic[a] = price print(dic) total_price = 0 while True: sangpum = input("구매할상품 : ") if sangpum in dic: total_price += dic[sangpum] print(dic[sangpum]) else: print(sangpum+"은/는 없습니다!") print(total_price) break
댓글 입력