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