콘텐츠로 이동

파이썬 객관식 심화 — SET 10 (최고난도 종합)

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

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


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

print(str(1) + str(2) * 3)

12221231231232221112Error

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

print(7 % 3 ** 2 + 2 * 3)

7139151

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

count = 0
n = 2
while n <= 20:
    i = 2
    is_prime = True
    while i < n:
        if n % i == 0:
            is_prime = False
            break
        i += 1
    if is_prime:
        count += 1
    n += 1
print(count)

98710 ⑤ 무한 루프

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

matrix = [[1, 0, 3], [0, 5, 0], [7, 8, 0]]
count = 0
for row in matrix:
    for x in row:
        if x == 0:
            continue
        count += 1
print(count)

9546Error

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

def f(n):
    if n == 1:
        return 1
    if n % 2 == 0:
        return f(n // 2) + 1
    return f(n - 1) + 1
print(f(10))

45610Error

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

class Wallet:
    rate = 2
    def __init__(self, money):
        self.money = money
    def grow(self):
        self.money *= Wallet.rate

a = Wallet(100)
b = Wallet(50)
Wallet.rate = 3
a.grow()
b.grow()
print(a.money, b.money)

300 150200 100300 100200 150Error

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

def f():
    try:
        try:
            return 1
        finally:
            return 2
    finally:
        return 3
print(f())

123ErrorNone

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

import math
print(math.ceil(math.sqrt(10)) * math.floor(math.pi))

9121610Error

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

data = [(3, "c"), (1, "a"), (2, "b")]
data.sort()
print(data[0])

(1, 'a')(3, 'c')('a', 1)1Error

10. (종합) 다음 코드의 출력은?

scores = {"Kim": [90, 80], "Lee": [70, 60], "Park": [95, 85]}
result = []
for name in scores:
    avg = sum(scores[name]) / len(scores[name])
    if avg >= 85:
        result.append(name)
print(result)

['Kim', 'Lee', 'Park']['Kim', 'Park']['Park']['Kim']Error