정보처리기사 실기PythonPython - 클로저난이도 5SHORT_ANSWER

정보처리기사 실기 Python - 클로저 기출문제 #411

문제

다음 Python 코드의 실행 결과를 쓰시오.

Python
def create_accumulator(initial): total = {'value': initial} def add_value(amount): total['value'] += amount return total['value'] return add_value accum = create_accumulator(5) print(accum(3), accum(2), accum(1))

정답

8 10 11

8 10 11

해설

클로저 함수 add_value는 외부 함수의 total 딕셔너리를 캡처합니다. 초기값 5에서 시작하여 첫 번째 호출 시 3을 더해 8, 두 번째 호출 시 2를 더해 10, 세 번째 호출 시 1을 더해 11이 됩니다. 딕셔너리는 가변 객체이므로 각 호출마다 누적된 값이 유지됩니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.