콘텐츠로 이동

파이썬 객관식 심화 — 핵심 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