콘텐츠로 이동

핵심 SET 08 — 정답 및 해설

문항 1 2 3 4 5 6 7 8 9 10
정답

1. 정답 ② 24 val이 함수 리스트를 거치며 차례로 변환됩니다. double(2)=4triple(4)=12double(12)=24.

2. 정답 ① 3 8 8 global counter로 전역 변수를 직접 수정합니다. 첫 호출: counter = 0+3 = 3 반환. 두 번째 호출: counter = 3+5 = 8 반환. 마지막 print(counter)도 전역 값인 8.

3. 정답 ① 6 12 2 Counter.total_count는 인스턴스가 생성될 때마다 1씩 증가하는 클래스 변수이므로 c1, c2 생성 후 2. c1.value0에서 increment()(기본 by=1)로 1, increment(5)6. c2.value10에서 increment(2)12.

4. 정답 ① 3 True 시드를 고정해도 random.randint(1, 5)는 항상 1~5 범위의 정수만 반환하므로, 리스트 길이는 3이고 모든 값이 1<=n<=5를 만족해 all(...)True입니다.

5. 정답 ① {'a': 10, 'b': 0, 'c': 0} 50 b(20)와 c(30)는 20 이상이라 각각 total에 더해지고(20+30=50) 해당 키 값은 0으로 바뀝니다. a(10)는 조건을 만족하지 않아 그대로 10.

6. 정답 ① [20, 40, 60] [70, 60, 50] a[1:6:2]는 인덱스 1, 3, 5의 값인 20, 40, 60. a[::-1]a를 뒤집은 [70,60,50,40,30,20,10]이고, 그 앞 3개는 [70, 60, 50].

7. 정답 ① (3, 'b') c 1 key=lambda t: t[0]로 첫 원소 기준 내림차순 정렬하면 [(3,'b'), (2,'c'), (1,'a')]. first=(3,'b'), second=(2,'c')second[1]='c', third=(1,'a')third[0]=1.

8. 정답 ① [1, 2, 5] 파이썬 연산자 우선순위상 -&|보다 먼저 계산됩니다. a - b = {1, 2}, b & c = {5}이므로 {1, 2} | {5} = {1, 2, 5}.

9. 정답 ① [pen:500.0, cup:1000.0] discount(0.5)self.price를 직접 *= (1-0.5)로 갱신합니다. pen: 1000*0.5=500.0, cup: 2000*0.5=1000.0. round()의 반환값은 사용되지 않고, __repr__이 갱신된 self.price를 그대로 보여줍니다.

10. 정답 ① 1.0 ['apple'] shop/__init__.pyCart를 패키지 네임스페이스로 가져오고 VERSION을 정의했으므로 shop.Cart()shop.VERSION 모두 정상 동작합니다. c.add("apple") 이후 c.items['apple'].