콘텐츠로 이동

파이썬 서술형 — 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")