안녕하세요. Harry입니다.
현재 풀이중인 초보자를 위한 파이썬 300제 풀이를 진행하면서 나름대로 파악했던 문제 출제 의도와 풀이를 작성했습니다.
모든 풀이는 직접 Pycharm을 통해 에러없이 출력됨을 확인 후 작성했습니다.
초보자를 위한 파이썬 300제 풀이는 Wikidocs에 무료로 배포된 전자책을 활용했습니다/
[학습목표]
1. 각 문제별 요구하는 역량(출제의도)이 무엇인지 파악할 수 있다.
2. 각 문제별 요구하는 기술 및 기능을 활용하여 문제를 해결할 수 있다.
081 ~ 090
081 별 표현식
기본적으로 데이터 언패킹은 좌변의 변수와 우변 데이터 개수가 같아야 합니다. 하지만 star expression을 사용하면 변수의 개수가 달라도 데이터 언패킹을 할 수 있습니다. 튜플에 저장된 데이터 중에서 앞에 있는 두 개의 데이터만 필요할 경우 나머지 데이터의 언패킹 코드를 작성할 필요가 없습니다.
(오..이건 몰랐네...)
>> a, b, *c = (0, 1, 2, 3, 4, 5)
>> a
0
>> b
1
>> c
[2, 3, 4, 5]
다음과 같이 10개의 값이 저장된 scores 리스트가 있을 때, start expression을 사용하여 좌측 8개의 값을 valid_score 변수에 바인딩하여라.
- 요구역량 : * 표현식을 활용해 언패킹 및, 활용하지 않을 요소는 _(언더바)로 처리하여 출력할 수 있는가?
- 언더바처리에 대한 것은 몰랐던 내용.
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
*valid_score,b,c = (8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4)
print(valid_score)
#답지
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
*valid_score, _, _= scores
print(valid_score)
082
다음과 같이 10개의 값이 저장된 scores 리스트가 있을 때, start expression을 사용하여 우측 8개의 값을 valid_score 변수에 바인딩하여라.
- 요구역량 : * 표현식을 활용하여 원하는 범위만큼 출력할 수 있는가?
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
정답확인scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
a,b,*valid_score = scores
print(valid_score)
083
다음과 같이 10개의 값이 저장된 scores 리스트가 있을 때, start expression을 사용하여 가운데 있는 8개의 값을 valid_score 변수에 바인딩하여라.
- 요구역량 : * 표현식이 언패킹 중간에도 활용될 수 있는지 인지하고 출력할 수 있는가?
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
정답확인scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
a,*valid_score,b = scores
print(valid_score)
084 비어있는 딕셔너리
temp 이름의 비어있는 딕셔너리를 만들라.
- 요구역량 : 딕셔너리 생성 시 {} 를 활용하는 것을 인지하고 생성할 수 있는가?
temp = {}
print(type(temp))
085
다음 아이스크림 이름과 희망 가격을 딕셔너리로 구성하라.
- 요구역량 : 표를 보고 알맞은 딕셔너리를 생성할 수 있는가?
메로나 | 1000 |
폴라포 | 1200 |
빵빠레 | 1800 |
a = {'메로나':1000, '폴라포':1200, '빵빠레':1800}
print(a)
086
085 번의 딕셔너리에 아래 아이스크림 가격정보를 추가하라.
- 요구역량 : 딕셔너리 추가 방법을 활용하여 출력할 수 있는가?
죠스바 | 1200 |
월드콘 | 1500 |
a = {'메로나':1000, '폴라포':1200, '뻥뻐레':1800}
a['죠스바'] = 1200
a['월드콘'] = 1500
print(a)
087
다음 딕셔너리를 사용하여 메로나 가격을 출력하라.
- 요구역량 : 딕셔너리에서 특정 요소만 출력할 수 있는가?
ice = {'메로나': 1000,
'폴로포': 1200,
'빵빠레': 1800,
'죠스바': 1200,
'월드콘': 1500}
실행 예:
메로나 가격: 1000
정답확인ice = {'메로나': 1000,
'폴로포': 1200,
'빵빠레': 1800,
'죠스바': 1200,
'월드콘': 1500}
print("메로나 가격 :",ice['메로나'])
088
다음 딕셔너리에서 메로나의 가격을 1300으로 수정하라.
- 요구역량 : 딕셔너리에서는 특정 key의 value 값을 변경하여 출력할 수 있는가?
ice = {'메로나': 1000,
'폴로포': 1200,
'빵빠레': 1800,
'죠스바': 1200,
'월드콘': 1500}
정답확인ice = {'메로나': 1000,
'폴로포': 1200,
'빵빠레': 1800,
'죠스바': 1200,
'월드콘': 1500}
ice['메로나'] = 1300
print(ice)
089
다음 딕셔너리에서 메로나를 삭제하라.
- 요구역량 : del 딕셔너리명[key값] 을 활용하여 특정 요소를 삭제할 수 있는가?
ice = {'메로나': 1000,
'폴로포': 1200,
'빵빠레': 1800,
'죠스바': 1200,
'월드콘': 1500}
정답확인ice = {'메로나': 1000,
'폴로포': 1200,
'빵빠레': 1800,
'죠스바': 1200,
'월드콘': 1500}
del ice['메로나']
print(ice)
090
다음 코드에서 에러가 발생한 원인을 설명하라.
- 요구역량 : 딕셔너리의 개념에 대해 이해하고 있는가?
>> icecream = {'폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
>> icecream['누가바']
Traceback (most recent call last):
File "<pyshell#69>", line 1, in <module>
icecream['누가바']
KeyError: '누가바'
정답확인- 딕셔너리에 없는 key값이기 때문
감사합니다.
'Coding Test > 초보자를 위한 파이썬 300제' 카테고리의 다른 글
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(101~110)_12.19 (0) | 2022.12.19 |
---|---|
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(091~100)_12.15 (0) | 2022.12.15 |
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(071~080)_12.15 (0) | 2022.12.15 |
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(061~070)_12.15 (2) | 2022.12.15 |
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(051~060)_12.15 (0) | 2022.12.15 |