SET 05 — 정답 및 해설¶
| 문항 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 정답 | ② | ② | ① | ① | ① | ③ | ③ | ② | ② | ② |
1. 정답 ② False
4 / 2 = 2.0(float), 4 // 2 = 2(int). 타입이 float vs int로 달라서 False. /는 나누어떨어져도 항상 실수.
2. 정답 ② B
x = 15: x > 10 참 → 안쪽으로. x > 20은 거짓이라 else의 B 출력.
3. 정답 ① 1234
str(i)를 계속 이어 붙임. "" → "1" → "12" → "123" → "1234". 문자열 연결이라 덧셈이 아님.
4. 정답 ① 14
i == j일 때만 i*j 합산: (1,1)→1, (2,2)→4, (3,3)→9. 1 + 4 + 9 = 14.
5. 정답 ① 24
재귀 팩토리얼. f(4) = 4 * 3 * 2 * 1 = 24 (f(1)에서 1 반환하며 종료).
6. 정답 ③ 2
history는 클래스 변수(공유 리스트). 두 객체 생성 시 각각 append → ["a", "b"], 길이 2. (가변 객체 클래스 변수 함정)
7. 정답 ③ T
"3" + 5는 문자열과 정수를 더할 수 없어 TypeError 발생 → except TypeError가 잡아 T 출력.
8. 정답 ② 1.414
sqrt(2) = 1.41421356..., round(..., 3)은 소수 셋째 자리까지 반올림 → 1.414.
9. 정답 ② 3 1 2
오른쪽 (c, a, b)가 먼저 한꺼번에 평가된 뒤 대입. 기존 c=3, a=1, b=2 → 새 a=3, b=1, c=2.
10. 정답 ② 8
교집합 a & b = {3, 4} (길이 2), 합집합 a | b = {1,2,3,4,5,6} (길이 6). 2 + 6 = 8.