SET 07 — 정답 및 해설¶
| 문항 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 정답 | ① | ② | ① | ② | ② | ① | ② | ② | ① | ② |
1. 정답 ① [6, 4, 2]
[6:1:-2]는 인덱스 6부터 1 미포함까지 −2씩: 인덱스 6(6), 4(4), 2(2) → [6, 4, 2].
2. 정답 ② 7
//와 *가 +보다 우선이고 왼쪽부터. 3 // 2 = 1 → 1 * 2 = 2 → 5 + 2 = 7.
3. 정답 ① 55 8
조건 검사는 갱신 전 a 값으로 함. a가 1→2→3→5→8→13→21→34일 때까지 반복(8회), 그 결과 a=55가 되어 55 < 50이 거짓. 출력 55 8.
4. 정답 ② 10
best는 2에서 시작. 짝수이면서 best보다 큰 값으로 갱신: 8(>2)→8, 10(>8)→10. 홀수 5,3,7은 제외. 최종 10.
5. 정답 ② 9
acc(3): 0+1+2 = 3. acc(4): total에 0+1+2+3 = 6 추가 → 3 + 6 = 9. global로 누적됨.
6. 정답 ① {'x': 2, 'y': 1}
seen은 클래스 변수(공유 딕셔너리). 두 객체가 같은 딕셔너리를 갱신: x가 2번, y가 1번 → {'x': 2, 'y': 1}.
7. 정답 ② K
d["b"]는 없는 키라 덧셈을 하기도 전에 KeyError 발생. except KeyError가 잡아 K 출력. (TypeError가 아님)
8. 정답 ② 1
3! = 6, 6 ** 2 = 36. **가 %보다 우선이라 36 % 7 = 1.
9. 정답 ① (1, [2, 3, 4])
튜플 자체는 불변이지만, 튜플 안의 리스트는 변경 가능. t[1].append(4)는 리스트를 바꾸는 것이라 허용 → (1, [2, 3, 4]). (튜플의 요소를 교체하는 게 아님)
10. 정답 ② [1, 2, 2, 4]
중첩 컴프리헨션은 바깥 i마다 안쪽 j를 모두 돎. i=1: 1,2 / i=2: 2,4 → [1, 2, 2, 4].