문제)
아래와 같은 딕셔너리로 이루어진 리스트에서
해당하는 각각의 데이터로,
영수의 점수는 70점입니다.
...
...
와 같은 결과를 차례대로 출력하기
scores = [
{'name':'영수','score':70},
{'name':'영희','score':65},
{'name':'기찬','score':75},
{'name':'희수','score':23},
{'name':'서경','score':99},
{'name':'미주','score':100},
{'name':'병태','score':32}
]
틀린 시도들)
for s in scores:
print('s['name']의 점수는 str(s['score'])점입니다.')
-> s['name'] 을 문자열(' ')에 포함시킬 수 없음
for s in scores:
print(s['name']'의 점수는', str(s['score'])'점입니다.')
-> 문자열을 잇는 형태가 잘못됨
해답)
for s in scores:
print(s['name']+'의 점수는 '+str(s['score'])+'점입니다.')
도출하고 싶은 값들( s['name'], str(['score']) )과 문자열(' ')을 이어주는데(+)
for s in scores:
name = s['name']
score = str(s['score'])
print(name+'의 점수는 '+score+'점입니다.')
이왕이면 변수를(name, score) 두어 형태를 간단히 해준다.
for s in scores:
name = s['name']
score = str(s['score'])
print(f'{name}의 점수는 {score}점입니다.')
f-string 을 활용하면 형태를 더욱 간단히 할 수 있다.
영수의 점수는 70점입니다.
영희의 점수는 65점입니다.
기찬의 점수는 75점입니다.
희수의 점수는 23점입니다.
서경의 점수는 99점입니다.
미주의 점수는 100점입니다.
병태의 점수는 32점입니다.
출력하면 위와 같은 결과를 얻을 수 있다.
'Python' 카테고리의 다른 글
[Python] 자료형별 주요 메서드 2 - 딕셔너리 (0) | 2023.05.10 |
---|---|
[Python] 자료형별 주요 메서드 1 - 문자열, 리스트 (0) | 2023.04.28 |
[Python] lambda 뽀개기 (0) | 2023.04.27 |
Python - 가상 환경 구축하기, venv (0) | 2023.03.28 |
python 기초 문법 - 반복문 (0) | 2023.03.21 |