파이썬 객관식 심화 — SET 10 (최고난도 종합)¶
이름: ____________ 점수: _____ / 100 난이도: ★★★★★
각 코드의 실행 결과 또는 옳은 설명을 보기에서 하나 고르세요. (문항당 10점, 범위: 1~8장 종합)
1. (자료형) 다음 코드의 출력은?¶
print(str(1) + str(2) * 3)
① 1222 ② 123123123 ③ 222 ④ 1112 ⑤ Error
2. (연산자) 다음 코드의 출력은?¶
print(7 % 3 ** 2 + 2 * 3)
① 7 ② 13 ③ 9 ④ 15 ⑤ 1
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)
① 9 ② 8 ③ 7 ④ 10 ⑤ 무한 루프
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)
① 9 ② 5 ③ 4 ④ 6 ⑤ Error
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))
① 4 ② 5 ③ 6 ④ 10 ⑤ Error
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 150 ② 200 100 ③ 300 100 ④ 200 150 ⑤ Error
7. (예외 처리) 다음 코드의 출력은?¶
def f():
try:
try:
return 1
finally:
return 2
finally:
return 3
print(f())
① 1 ② 2 ③ 3 ④ Error ⑤ None
8. (모듈) 다음 코드의 출력은?¶
import math
print(math.ceil(math.sqrt(10)) * math.floor(math.pi))
① 9 ② 12 ③ 16 ④ 10 ⑤ Error
9. (리스트·튜플) 다음 코드의 출력은?¶
data = [(3, "c"), (1, "a"), (2, "b")]
data.sort()
print(data[0])
① (1, 'a') ② (3, 'c') ③ ('a', 1) ④ 1 ⑤ Error
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