핵심 SET 10 — 정답 및 해설¶
| 문항 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 정답 | ① | ① | ① | ① | ① | ① | ① | ① | ① | ① |
1. 정답 ① {'mode': 'hard', 'level': 1, 'sound': True} {'mode': 'hard', 'level': 1, 'sound': True} True
딕셔너리는 가변 객체이므로 함수에 전달해도 같은 객체를 참조합니다. updates의 mode가 기존 값을 덮어쓰고 sound가 새로 추가되어 config가 직접 변경됩니다. 함수가 d(즉 config)를 그대로 반환했으므로 result도 같은 객체이고, config is result는 True.
2. 정답 ① 55
a=1(위치), b=2(키워드), c=10(기본값 유지), d=5(키워드)로 매칭됩니다. 1*1 + 2*2 + 10*3 + 5*4 = 1+4+30+20 = 55.
3. 정답 ① True 5
toggle()을 5번 호출하면 False에서 시작해 True, False, True, False, True 순으로 바뀌므로 마지막은 True. 호출마다 toggle_count가 1씩 증가해 최종 5.
4. 정답 ① (2, 3)
avg = (1+2+3+4)/4 = 10/4 = 2.5. math.floor(2.5)=2, math.ceil(2.5)=3. 반환값은 튜플 (2, 3).
5. 정답 ① 4 4
continue로 "b"와 "d"는 건너뛰므로 total에는 "a"(1)와 "c"(3)만 더해져 4. len(d)는 딕셔너리의 키 개수인 4(순회 중 딕셔너리 자체를 변경하지 않았으므로 그대로 유지).
6. 정답 ① [2, 4, 6, 8]
중첩 반복으로 모든 원소를 순회하며 짝수만 모읍니다. 1~9 중 짝수는 2, 4, 6, 8.
7. 정답 ① 3 1 2
오른쪽 (c, a, b) = (3, 1, 2)가 먼저 한꺼번에 평가된 뒤 a, b, c에 순서대로 대입되어 a=3, b=1, c=2.
8. 정답 ① {1, 2, 3, 4, 5, 6}
&가 |보다 먼저 계산됩니다. b & c = {4, 5, 6}이고, a | {4, 5, 6} = {1, 2, 3, 4} | {4, 5, 6} = {1, 2, 3, 4, 5, 6}.
9. 정답 ① 50 ['ok', 'fail', 'ok']
spend(30): 30<=100이라 성공, money=70, log=['ok']. spend(80): 80>70이라 실패, log=['ok','fail'], money 변화 없음. spend(20): 20<=70이라 성공, money=50, log=['ok','fail','ok'].
10. 정답 ① 4.14 12.56
add(PI, 1) = 3.14 + 1 = 4.14. circle_area(2) = 3.14 * 2 * 2 = 12.56. 모듈에서 가져온 변수 PI와 함수 add, circle_area를 모두 정상적으로 사용할 수 있습니다.