콘텐츠로 이동

파이썬 객관식 심화 — SET 08

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

각 코드의 실행 결과 또는 옳은 설명을 보기에서 하나 고르세요. (문항당 10점, 범위: 1~8장 종합)


1. (자료형) 다음 코드의 출력은?

print(int(str(5) + str(2)) + 1)

53852152Error

2. (연산자) 다음 코드의 출력은?

print(10 // 3 == 3 and 10 % 3 == 1)

FalseTrueError1None

3. (while) 다음 코드의 출력은?

found = False
n = 2
while n <= 20 and not found:
    if n * n > 50:
        found = True
    else:
        n += 1
print(n)

782150 ⑤ 무한 루프

4. (for) 다음 코드의 출력은?

total = 0
for i in range(1, 6):
    for j in range(1, 6):
        if (i + j) % 2 == 0:
            continue
        total += 1
print(total)

121325106

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

def f(n):
    if n <= 0:
        return 0
    return n + f(n - 2)
print(f(7))

1216289Error

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

class Stack:
    def __init__(self):
        self.data = []
    def push(self, x):
        self.data.append(x)
        return self

s = Stack()
s.push(1).push(2).push(3)
print(s.data)

[1, 2, 3][3][1]ErrorNone

7. (예외 처리) 다음 코드의 출력은?

def f(n):
    out = []
    try:
        out.append(10 // n)
    except ZeroDivisionError:
        out.append(-1)
    else:
        out.append(99)
    finally:
        out.append(0)
    return out

print(f(2))

[5, 0][5, 99, 0][5, 99][99, 0][5, -1, 0]

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

import math
print(math.floor(math.sqrt(50)))

787.0725Error

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

a = [1, 2, 3, 4]
b = a[:]
b.append(5)
print(len(a), len(b))

5 54 54 45 4Error

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

pairs = [("a", 1), ("b", 2), ("a", 3), ("b", 4)]
groups = {}
for k, v in pairs:
    if k not in groups:
        groups[k] = []
    groups[k].append(v)
print(groups)

{'a': [1], 'b': [2]}{'a': [1, 3], 'b': [2, 4]}{'a': [1, 3, 2, 4]}{'a': 4, 'b': 6}Error