파이썬 서술형 — SET 17¶
이름: ____________ 점수: _____ / 100
출력형은 실행 결과와 그렇게 되는 이유를 함께 서술하세요. 작성형은 실행 가능한 코드로 답하세요. (범위: 1~8장)
[Ⅰ. 출력 예측 + 이유 서술] (각 10점)¶
1.¶
class C:
items = []
def add(self, x):
self.items.append(x)
a = C()
b = C()
a.add(1)
b.add(2)
print(a.items, b.items)
2.¶
for i in range(3):
for j in range(3):
if i + j == 2:
print(i, j)
3.¶
try:
print(int("3.5"))
except ValueError:
print("error")
4.¶
d = {"a": 1, "b": 2}
print("a" in d, 1 in d, 2 in d.values())
[Ⅱ. 코드 작성] (각 15점)¶
5.¶
정수 n을 받아 n!(팩토리얼)을 재귀로 계산하는 함수 fact(n)을 작성하시오. (fact(5) → 120)
6.¶
단어 리스트를 받아 각 단어의 등장 횟수를 담은 딕셔너리를 반환하는 함수 count_words(words)를 작성하시오.
count_words(["a", "b", "a"]) → {"a": 2, "b": 1}
7.¶
max()를 쓰지 않고, 리스트의 최댓값을 반환하는 함수 my_max(nums)를 작성하시오.
[Ⅲ. 오류 찾기·수정] (15점)¶
8.¶
다음 코드는 실행되지 않는다. 무엇이 문제인지 설명하고, 고친 코드를 작성하시오.
def greet(name):
print("Hello", name)
greet("Python")