콘텐츠로 이동

파이썬 객관식 심화 — SET 09

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

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


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

s = "programming"
print(s[3:8][::-1])

mmarggrammmarggnimmError

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

print(not (5 % 2 == 0) and 3 ** 2 > 5)

FalseTrueError1None

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

n = 1234
rev = 0
while n > 0:
    rev = rev * 10 + n % 10
    n = n // 10
print(rev)

1234432110240

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

grid = [[1, 2], [3, 4], [5, 6]]
total = 0
for row in grid:
    total += row[0] * row[1]
print(total)

442130720Error

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

def f(s):
    if len(s) <= 1:
        return s
    return f(s[1:]) + s[0]
print(f("abc"))

abccbacabbcaError

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

class Player:
    scores = []
    def __init__(self, s):
        Player.scores.append(s)
    def avg(self):
        return sum(Player.scores) / len(Player.scores)

a = Player(10)
b = Player(20)
c = Player(30)
print(a.avg())

10.020.06030.0Error

7. (예외 처리) 다음 코드를 실행할 때 출력되는 순서로 옳은 것은?

def f(x):
    try:
        if x == 0:
            raise ValueError
        return "A"
    except ValueError:
        return "B"
    finally:
        print("C")

print(f(1))
print(f(0))

C A C BA C B CC C A BA B C CC A B

8. (모듈) 다음 중 random 모듈 사용 설명으로 옳지 않은 것은?

random.randint(1, 10) — 1 이상 10 이하 정수 ② random.choice([1, 2, 3]) — 리스트에서 하나 선택 ③ random.random() — 0.0 이상 1.0 미만 실수 ④ random.shuffle([1, 2, 3])섞인 새 리스트를 반환 ⑤ 사용하려면 먼저 import random 필요

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

s = "mississippi"
print(len(set(s)))

11451Error

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

data = [1, 2, 2, 3, 1, 4, 3, 3]
freq = {}
for x in data:
    freq[x] = freq.get(x, 0) + 1
result = [k for k in freq if freq[k] >= 2]
print(result)

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