콘텐츠로 이동

파이썬 서술형 — SET 19

이름: ____________ 점수: _____ / 100

출력형은 실행 결과와 그렇게 되는 이유를 함께 서술하세요. 작성형은 실행 가능한 코드로 답하세요. (범위: 1~8장)


[Ⅰ. 출력 예측 + 이유 서술] (각 10점)

1.

row = [0, 0]
table = [row, row, row]
table[1][0] = 9
print(table)
출력: ________________ 이유:

2.

def f():
    try:
        return 1
    finally:
        print("cleanup")
print(f())
출력: ________________ 이유:

3.

print(list(range(1, 10, 3)))
print(list(range(10, 1, -3)))
출력: ________________ 이유:

4.

words = ["apple", "banana", "cherry"]
d = {}
for w in words:
    d[len(w)] = w
print(d)
출력: ________________ 이유:

[Ⅱ. 코드 작성] (각 15점)

5.

정수 리스트를 받아 (최솟값, 최댓값)을 튜플로 반환하는 함수 min_max(nums)를 작성하시오. (내장 min/max 사용 가능)

6.

문자열을 받아 각 문자가 몇 번 나오는지를 딕셔너리로 반환하는 함수 char_freq(s)를 작성하시오.

char_freq("banana")  →  {"b": 1, "a": 3, "n": 2}

7.

피보나치 수열의 앞 n를 리스트로 반환하는 함수 fib_list(n)을 작성하시오.

fib_list(7)  →  [0, 1, 1, 2, 3, 5, 8]

[Ⅲ. 오류 찾기·수정] (15점)

8.

다음 코드는 실행 중 오류가 난다. 무슨 오류가 왜 나는지 설명하고, 의도(전역 total에 누적)대로 고친 코드를 작성하시오.

total = 0
def add(n):
    total += n

add(5)
print(total)