Python(파이썬)- 피보나치수열 구하기(제너레이터 사용)

피보나치수열은 첫째 및 둘째가 1이며 그 이후의 모든 항은 바로 앞 두 수의 합인 수열이다.

제너레이터 (generator)는 파이썬 시퀀스를 생성하는 객체이다. 제너레이터를 이용하면 전체 시퀀스를 한 번에 메모리에 생성하고 정렬할 필요없이 잠재적으로 아주 큰 시퀀스를 순회할 수 있다. 제너레이터를 순회할 때 마다 마지막으로 호출된 요소를 기억하고 다음 값을 반환한다.

제너레이터 함수는 yield문을 사용한다.


def fib_generator():

a, b = 0, 1

while True:

yield b

a, b = b, a+b

fg = fib_generator()

for n in range(10):

print(next(fg), end=” “)

 


실행화면


1 1 2 3 5 8 13 21 34 55