파이썬 객관식 심화 — SET 09¶
이름: ____________ 점수: _____ / 100 난이도: ★★★★★
각 코드의 실행 결과 또는 옳은 설명을 보기에서 하나 고르세요. (문항당 10점, 범위: 1~8장 종합)
1. (자료형) 다음 코드의 출력은?¶
s = "programming"
print(s[3:8][::-1])
① mmarg ② gramm ③ marg ④ gnimm ⑤ Error
2. (연산자) 다음 코드의 출력은?¶
print(not (5 % 2 == 0) and 3 ** 2 > 5)
① False ② True ③ Error ④ 1 ⑤ None
3. (while) 다음 코드의 출력은?¶
n = 1234
rev = 0
while n > 0:
rev = rev * 10 + n % 10
n = n // 10
print(rev)
① 1234 ② 4321 ③ 10 ④ 24 ⑤ 0
4. (for) 다음 코드의 출력은?¶
grid = [[1, 2], [3, 4], [5, 6]]
total = 0
for row in grid:
total += row[0] * row[1]
print(total)
① 44 ② 21 ③ 30 ④ 720 ⑤ Error
5. (함수) 다음 코드의 출력은?¶
def f(s):
if len(s) <= 1:
return s
return f(s[1:]) + s[0]
print(f("abc"))
① abc ② cba ③ cab ④ bca ⑤ Error
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.0 ② 20.0 ③ 60 ④ 30.0 ⑤ Error
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 B ② A C B C ③ C C A B ④ A B C C ⑤ C 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)))
① 11 ② 4 ③ 5 ④ 1 ⑤ Error
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