4단원 쪽지시험 정답: for 반복문¶
1번 (과제 문제 1 응용 — range())¶
① [3, 4, 5, 6, 7]
② [5, 4, 3, 2, 1]
③ [0, 5, 10, 15]
과제에서 range(5), range(2,7), range(1,10,3), range(10,0,-2)를 다뤘다면,
여기선 다른 start/stop/step 조합으로 출제. 원리는 동일: stop은 포함하지 않음.
2번 (과제 문제 3 응용 — 조건 누적)¶
① 9
| i | 홀수? | total |
|---|---|---|
| 1 | 예 | 1 |
| 2 | 아니오 | 1 |
| 3 | 예 | 4 |
| 4 | 아니오 | 4 |
| 5 | 예 | 9 |
1 + 3 + 5 = 9
과제에서 continue로 짝수를 건너뛰었다면, 여기선 if 조건으로 홀수만 누적.
3번 (과제 문제 2 응용 — 중첩 for 패턴)¶
① *
② **
③ ***
④ ****
⑤ *****
| i | range(i+1) | 출력 |
|---|---|---|
| 0 | range(1) | * |
| 1 | range(2) | ** |
| 2 | range(3) | *** |
| 3 | range(4) | **** |
| 4 | range(5) | ***** |
과제에서 i + j == 2의 개수를 세었다면, 여기선 중첩 for로 패턴 출력.
range(i + 1)에서 안쪽 루프의 반복 횟수가 바깥쪽 변수에 의존함이 핵심.
4번 (과제 문제 4 응용 — 리스트 조건 누적)¶
① 58
| n | 짝수? | result |
|---|---|---|
| 10 | 예 | 10 |
| 25 | 아니오 | 10 |
| 33 | 아니오 | 10 |
| 48 | 예 | 58 |
| 57 | 아니오 | 58 |
10 + 48 = 58
과제에서 "o" in w로 문자열 필터링했다면, 여기선 n % 2 == 0으로 짝수 필터링.
5번 (과제 문제 4 응용 — 문자열 + in)¶
① h
② e
③ l
④ l
⑤ o
| ch | in "AEIOU"? | 출력 |
|---|---|---|
| H | 아니오 | H |
| E | 예 | e (ch.lower()) |
| L | 아니오 | L |
| L | 아니오 | L |
| O | 예 | o (ch.lower()) |
과제에서 "o" in w로 단어를 필터링했다면, 여기선 모든 문자에 대해 조건부 변환.
핵심 함정: H는 대문자 모음이 아니므로 그대로, E와 O는 모음이므로 lower() 적용.