파이썬 객관식 심화 — 핵심 SET 03¶
이름: ____________ 점수: _____ / 100 난이도: ★★★★☆
각 코드의 실행 결과 또는 옳은 설명을 보기에서 하나 고르세요. (문항당 10점, 범위: 함수·클래스·모듈/패키지·딕셔너리·리스트·튜플·set 심화)
1. (함수) 다음 코드의 출력은?¶
def f(a, b, c=3):
return a * 100 + b * 10 + c
print(f(c=1, a=2, b=3))
① 213
② 231
③ 321
④ 123
⑤ TypeError
2. (함수) 다음 코드의 출력은?¶
def add_one(lst):
lst.append(1)
def reset(lst):
lst = []
data = [0]
add_one(data)
reset(data)
print(data)
① []
② [0]
③ [0, 1]
④ [1]
⑤ Error
3. (클래스) 다음 코드의 출력은?¶
class Cart:
items = []
def add(self, x):
self.items.append(x)
c1 = Cart()
c2 = Cart()
c1.add("apple")
c2.add("banana")
print(c1.items)
① ['apple']
② ['banana']
③ ['apple', 'banana']
④ []
⑤ Error
4. (모듈/패키지) 다음 코드의 출력은?¶
import math as m
print(math.pi)
① 3.141592653589793
② NameError
③ ModuleNotFoundError
④ AttributeError
⑤ 3.14
5. (딕셔너리) 다음 코드의 출력은?¶
d = {"a": 1, "b": 2, "c": 3}
swapped = {v: k for k, v in d.items()}
print(swapped[2])
① "a"
② "b"
③ "c"
④ 2
⑤ KeyError
6. (리스트) 다음 코드의 출력은?¶
a = [10, 20, 30, 40]
a.remove(20)
del a[0]
x = a.pop()
print(a, x)
① [30] 40
② [40] 30
③ [10, 30] 40
④ [30, 40] 10
⑤ Error
7. (튜플) 다음 코드의 출력은?¶
print((1, 2, 3) < (1, 2, 4))
print((1, 3) < (1, 2, 100))
① True True
② True False
③ False True
④ False False
⑤ Error
8. (set) 다음 코드의 출력은?¶
s = {1, 2, 3}
s.discard(10)
print(s)
s.remove(10)
① {1, 2, 3} 다음 정상 종료
② {1, 2, 3} 다음 KeyError
③ {1, 2, 3, 10} 다음 KeyError
④ KeyError가 먼저 발생
⑤ {1, 2, 3} 다음 None
9. (함수) 다음 코드의 출력은?¶
def minmax(lst):
return min(lst), max(lst)
a, b = minmax([3, 1, 4, 1, 5])
print(a, b)
① 1 5
② 5 1
③ (1, 5)
④ 3 5
⑤ TypeError
10. (패키지) 다음 코드의 출력은?¶
# utils/math_utils.py
def add(a, b):
return a + b
# main.py
from utils import math_utils
print(math_utils.add(2, 3))
① 5
② NameError
③ ModuleNotFoundError
④ AttributeError
⑤ ImportError