딕셔너리
- 다음 중 딕셔너리를 만드는 방법으로 올바르지 않은 것을 고르세요.
- x = {'a': 10, 'b': 20}
- x = {'a'=10, 'b'=20}
- x = dict()
- x = dict(a=10, b=20)
- x = dict({'a': 10, 'b': 20})
정답 : 2
풀이 : 딕셔너리를 만드는 방법은 키:값이지 =이 들어갈 수 없다.
- 딕셔너리 x = {10: 'Hello', 'world': 30}에서 키 10의 값을 출력하는 방법으로 올바른 것을 고르세요.
- print(x.Hello)
- print(x('Hello'))
- print(x[Hello])
- print(x['Hello'])
- print(x[10])
정답 : 5
풀이 : 딕셔너리의 키에 접근할 때는 딕셔너리[키] 형식으로 사용한다.
- 다음 코드를 실행했을 때 출력 결과로 올바른 것을 고르세요.
fruits = {'apple': 1500, 'pear': 3000, 'grape': 1400} fruits['orange'] = 2000 print(fruits['apple'], fruits['orange'])
- 1200 2000
- 1500 0
- 1500 2000
- 1200 1500
- 1200 3000
정답 : 3
풀이 : fruits['orange']의 값이 2000으로 초기화했으므로 1500 2000이다.
- 다음 중 print(len({10:0, 20:1, 30:2, 40:3, 50:4, 60:7}))의 출력 결과로 올바른 것을 고르세요.
- 12
- 0
- {10:0, 20:1, 30:2, 40:3, 50:4, 60:7}
- 6
- 7
정답 : 4
풀이 : 딕셔너리의 총 개수를 구하는 문제로 6개이다.
12.4 연습문제: 딕셔너리에 게임 캐릭터 능력치 저장하기
다음 소스 코드를 완성하여 게임 캐릭터의 체력(health)과 이동 속도(movement speed)가 출력되게 만드세요.
camille = { 'health': 575.6, 'health_regen': 1.7, 'mana': 338.8, 'mana_regen': 1.63, 'melee': 125, 'attack_damage': 60, 'attack_speed': 0.625, 'armor': 26, 'magic_resistance': 32.1, 'movement_speed': 340 } print( ) print( )
결과) 575.6 340
정답) camile['health'] camile['movement_speed']
12.5 심사문제: 딕셔너리에 게임 캐릭터 능력치 저장하기
- 표준 입력으로 문자열 여러 개와 숫자(실수) 여러 개가 두 줄로 입력됩니다. 입력된 첫 번째 줄은 키, 두 번째 줄은 값으로 하여 딕셔너리를 생성한 뒤 딕셔너리를 출력하는 프로그램을 만드세요. input().split()의 결과를 변수 한 개에 저장하면 리스트로 저장됩니다.
________________ ________________ ________________ ________________
입력) health health_regen mana mana_regen 575.6 1.7 338.8 1.63 결과) {'health': 575.6, 'health_regen': 1.7, 'mana': 338.8, 'mana_regen': 1.63}
정답 : a = input().split() b = map(float, input().split()) c = dict(zip(a,b)) print(c)
풀이 : 두 줄로 입력하고 두번째 입력한 값은 실수로 저장되어야 하기때문에 map을 이용해 float을 지정해주고 이 값들을 zip으로 묶고 dict()함수를 이용해서 딕셔너리를 만들고 출력하면 된다.