문제
items = {'cabbage' : 5000, 'Daikon' : 2000, 'Lettuce' : 3000}
다음과 같은 상품이 있다. 사용자의 입력 을 받아 해당 상품의 가격 을 출력하고자 한다.
해결방법
for index, (key, elem) in enumerate(items.items()): print(index, key, elem) print("Select Item(1-3) = ") goodsIdx = int(input()) print("Total Price : {} ".format(list(item.values())[goodsIdx-1]))
enumerate
함수를 사용한다.- item.values를 list로 만들어준다.
2번이 핵심이라고 볼 수 있다. items.values()
의 타입은 dict_values
형식이므로, 타입을 리스트로 만들어주면 인덱스로 접근이 가능해진다.
참고로 index + 1을 해서 사용자가 보기 편하게 만들었다. 이 부분 때문에 맨 마지막 부분에서 list(item.values())[goodsIdx-1]을 해주어야 한다.
'프로그래밍 > 파이썬' 카테고리의 다른 글
[파이썬] pyenv, virtualenv 설치 및 가상환경 생성하기 (4) | 2017.09.19 |
---|---|
[파이썬] pyenv, virtualenv, pip 이해하기 (0) | 2017.06.03 |
[파이썬] 정규표현식(regular expression) (6) | 2017.05.27 |
[파이썬] get/set 속성값과 프로퍼티(property) (3) | 2017.05.23 |
[파이썬] 제너레이터(Generator) 이해하기 (0) | 2017.05.21 |