다음 Python 프로그램의 출력은?
def accumulator(): total = 0 while True: value = yield total if value is None: return total += value g = accumulator() a = next(g) b = g.send(3) c = g.send(4) print(a, b, c)
정답 3번
next(g)는 첫 yield까지 실행해 total 0을 반환한다. send(3)은 중단된 yield 식의 값으로 3을 전달해 total을 3으로 만든 뒤 다음 yield에서 3을 반환한다. send(4)도 같은 방식으로 total을 7로 만들고 7을 반환하므로 `0 3 7`이 출력된다.
콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-16