본문 바로가기
프로그램

[파이썬] 문제 : 입력된 수 보다 작은 피보나치 수열 만들기

by 오디세이99 2022. 11. 7.
728x90
반응형
no = int(input("입력 : "))       # 입력 받음. 입력 받은 문자열을 정수로 변환

p_lst = [0,1]                    # 피보나치수열의 0, 1 은 기본 추가
while True:                     # 무한반복. 아래 코드에서 break로 빠져나감
    n = p_lst[-2] + p_lst[-1]    # 리스트에서 인덱스[-1],[-2]는 뒤에서 첫번째, 뒤에서 두번째 의미. 새로운 수열값을 만듬
    #  print(n)                   # 디버기용
    if n > no:                   # 만들어진 피보나치수열값이 입력값보타 크면 종료
        break
    p_lst.append(n)              # 수열 리스트에 추가
    
print(p_lst, '/',sum(p_lst))
# print(sum(p_lst))                 # 리스트 변수를 sum 함수를 사용해서 헙계를 구해서 출력
입력 : 50
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34] / 88
728x90
반응형

댓글