콘텐츠로 이동

파이썬 객관식 심화 — 핵심 SET 05

이름: ____________ 점수: _____ / 100 난이도: ★★★★☆

각 코드의 실행 결과 또는 옳은 설명을 보기에서 하나 고르세요. (문항당 10점, 범위: 함수·클래스·모듈/패키지·딕셔너리·리스트·튜플·set 심화)


1. (함수) 다음 코드의 출력은?

def f(a, b=a):
    return a + b

print(f(3))

6
3
NameError
TypeError
0

2. (함수) 다음 코드의 출력은?

x = 10
def foo():
    global x
    x += 1
    return x

print(foo())
print(x)

10 10
11 10
11 11
10 11
UnboundLocalError

3. (클래스) 다음 코드의 출력은?

class Account:
    def __init__(self, balance=0):
        self.balance = balance
    def deposit(self, amt):
        self.balance += amt
        return self.balance

a = Account()
print(a.deposit(100))

0
100
None
TypeError
Error

4. (모듈/패키지) 다음 코드의 출력은?

from math import pi
pi = 3
print(pi)

3.141592653589793
3
TypeError
NameError
Error

5. (딕셔너리) 다음 코드의 출력은?

d = {"users": [{"name": "Kim"}, {"name": "Lee"}]}
print(d["users"][1]["name"])

Kim
Lee
KeyError
IndexError
{"name": "Lee"}

6. (리스트) 다음 코드의 출력은?

matrix = [[1, 2], [3, 4], [5, 6]]
flat = [n for row in matrix for n in row]
print(flat)

[1, 2, 3, 4, 5, 6]
[[1, 2], [3, 4], [5, 6]]
[1, 3, 5]
[2, 4, 6]
Error

7. (튜플) 다음 코드의 출력은?

d = {}
d[(1, 2)] = "point"
print(d[(1, 2)])

point
KeyError
TypeError
(1, 2)
None

8. (set) 다음 코드의 출력은?

a = {1, 2}
b = {1, 2, 3}
print(a.issubset(b), b.issuperset(a))

True True
False False
True False
False True
Error

9. (함수) 다음 코드의 출력은?

def fact(n):
    if n <= 1:
        return 1
    return n * fact(n - 1)

print(fact(5))

24
120
60
None
RecursionError

10. (패키지) 다음 코드의 출력은?

# utils/math_utils.py
def add(a, b):
    return a + b
# main.py
from utils.math_utils import add
print(add(4, 5))

9
NameError
ModuleNotFoundError
AttributeError
ImportError