안녕하세요. Harry입니다.
현재 풀이중인 초보자를 위한 파이썬 300제 풀이를 진행하면서 나름대로 파악했던 문제 출제 의도와 풀이를 작성했습니다.
모든 풀이는 직접 Pycharm을 통해 에러없이 출력됨을 확인 후 작성했습니다.
초보자를 위한 파이썬 300제 풀이는 Wikidocs에 무료로 배포된 전자책을 활용했습니다/
[학습목표]
1. 각 문제별 요구하는 역량(출제의도)이 무엇인지 파악할 수 있다.
2. 각 문제별 요구하는 기술 및 기능을 활용하여 문제를 해결할 수 있다.
181 ~ 190
181
아래 표에서 하나의 행을 하나의 리스트로, 총 3개의 리스트를 갖는 이차원 리스트 apart를 정의하라.
- 요구역량 : 표의 행 단위로 리스트 내 리스트를 넣어 출력할 수 있는가?
101호 | 102호 |
201호 | 202호 |
301호 | 302호 |
apart = [ ["101호", "102호"], ["201호", "202호"], ["301호", "302호"] ]
182
아래 표에서 하나의 열을 하나의 리스트로, 총 2개의 리스트를 갖는 이차원 리스트 stock을 정의하라.
- 요구역량 : 표의 열 단위로 리스트 내 리스트를 넣어 출력할 수 있는가?
시가 | 종가 |
100 | 80 |
200 | 210 |
300 | 330 |
stock = [ ["시가", 100, 200, 300], ["종가", 80, 210, 330] ]
183
아래 표를 stock 이름의 딕셔너리로 표현하라.시가를 key로 저장하고, 나머지 같은 열의 데이터를 리스트로 저장해서 value로 저장한다. 종가 역시 key로 저장하고 나머지 같은 열의 데이터를 리스트로 저장해서 value로 저장한다.
시가 | 종가 |
100 | 80 |
200 | 210 |
300 | 330 |
stock = {시가:[100,200,300], 종가:[80,210,330] }
184
아래 표를 stock 이라는 이름의 딕셔너리로 표현하라. 날짜를 key로 저장하고, 나머지 같은 행의 데이터를 리스트로 저장해서 value로 저장한다. 첫 열이 날짜이다.
- 요구역량 : 표의 열을 딕셔너리로 저장할 수 있는가?
10/10 | 80 | 110 | 70 | 90 |
10/11 | 210 | 230 | 190 | 200 |
stock = {"10/10": [80, 110, 70, 90], "10/11": [210, 230, 190, 200] }
185
리스트에 저장된 데이터를 아래와 같이 출력하라.
- 요구역량 : for문을 2번 연속으로 활용하여 리스트 내 리스트를 일일이 출력할 수 있는가?
하나하나 언패킹해서 프린트했는데, for문을 두번쓰면 되는걸로,,배웠습니다.
apart = [ [101, 102], [201, 202], [301, 302] ]
101 호
102 호
201 호
202 호
301 호
302 호
정답확인
apart = [ [101, 102], [201, 202], [301, 302] ]
a,b,c = apart
print(a[0],"호")
print(a[1],"호")
print(b[0],"호")
print(b[1],"호")
print(c[0],"호")
print(c[1],"호")
#답지
for row in apart:
for col in row:
print(col, "호")
186
리스트에 저장된 데이터를 아래와 같이 출력하라.
- 요구역량 : for문을 2번 연속으로 활용하여 리스트를 역순으로 출력할 수 있는가?
apart = [ [101, 102], [201, 202], [301, 302] ]
301 호
302 호
201 호
202 호
101 호
102 호
정답확인apart = [ [101, 102], [201, 202], [301, 302] ]
for i in apart[::-1]:
for c in i:
print(c,"호")
187
리스트에 저장된 데이터를 아래와 같이 출력하라.
- 요구역량 : for문을 2번 연속으로 활용하여 리스트 내 리스트를 역순으로 출력할 수 있는가?
apart = [ [101, 102], [201, 202], [301, 302] ]
302 호
301 호
202 호
201 호
102 호
101 호
정답확인apart = [ [101, 102], [201, 202], [301, 302] ]
for i in apart[::-1]:
for c in i[::-1]:
print(c,"호")
188
리스트에 저장된 데이터를 아래와 같이 출력하라.
- 요구역량 : for문을 2번 연속으로 활용하여 리스트 내 리스트의 요소를 일일이 출력할 때마다 다른 문자열도 반복적으로 출력할 수 있는가?
apart = [ [101, 102], [201, 202], [301, 302] ]
101 호
-----
102 호
-----
201 호
-----
202 호
-----
301 호
-----
302 호
-----
정답확인apart = [ [101, 102], [201, 202], [301, 302] ]
for i in apart:
for c in i:
print(c,"호")
print("-----")
189
리스트에 저장된 데이터를 아래와 같이 출력하라.
- 요구역량 : for문 내 for문이 반복 될 때, 어느 위치의 명령문이 어떤 주기로 실행되는지 알고 원하는 주기로 출력할 수 있는가?
저는 정수형을 문자형으로 바꾸고, 거기서 인덱싱하고 if문써서,,,막 복잡하게했는데, 그냥 print("-"*5)문을 첫번째 for문에서 실행하도록만 빼면 되는,,쉽게 해결되는 그런 문제 였습니다.
for문이 리스트의 요소가 변수에 차례대로 대입되는 반복문이라는 개념을 이해하고, 그 원리에 입각하여 print문 위치를 옮기는 판단을 했어야했는데, 아직 부족한 듯 합니다.
apart = [ [101, 102], [201, 202], [301, 302] ]
101 호
102 호
-----
201 호
202 호
-----
301 호
302 호
-----
정답확인apart = [ [101, 102], [201, 202], [301, 302] ]
for i in apart:
for c in i:
print(c,"호")
if str(c)[2] == '2':
print("-"*5)
#답지
apart = [ [101, 102], [201, 202], [301, 302] ]
for row in apart:
for col in row:
print(col, "호")
print("-----")
190
리스트에 저장된 데이터를 아래와 같이 출력하라.
- 요구역량 : for문 내 for문이 반복 될 때, 어느 위치의 명령문이 어떤 주기로 실행되는지 알고 원하는 주기로 출력할 수 있는가?
앞 문제를 교훈 삼아 쉽게 풀었습니다!
apart = [ [101, 102], [201, 202], [301, 302] ]
101 호
102 호
201 호
202 호
301 호
302 호
-----
정답확인apart = [ [101, 102], [201, 202], [301, 302] ]
for i in apart:
for c in i:
print(c,"호")
print("-"*5)
감사합니다.
'Coding Test > 초보자를 위한 파이썬 300제' 카테고리의 다른 글
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(201~210)_12.21 (0) | 2022.12.21 |
---|---|
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(191~200)_12.20 (0) | 2022.12.20 |
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(171~180)_12.20 (0) | 2022.12.20 |
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(161~170)_12.20 (0) | 2022.12.20 |
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(151~160)_12.20 (0) | 2022.12.20 |