해당 포스트에서는 300보다 작은 모든 피보나치 숫자들을 찾는 방법을 소개합니다.
참고로, 피보나치 수열(Fibonacci numbers)의 이론적인 설명은 아래 사이트에서 확인하실 수 있습니다.
[실습] 300보다 작은 모든 피보나치 숫자들을 찾아 나열하는 Python 코드를 찾으시오.
아래는 Python으로 300보다 작은 모든 피보나치 숫자들을 찾아 나열하는 코드입니다.
Python 코드
# 초기 두 개의 피보나치 수를 리스트에 저장합니다.
fib = [0, 1]
# 마지막 항이 300보다 작을 때까지 반복합니다.
while fib[-1] < 300:
# 새로운 피보나치 수를 리스트에 추가합니다.
fib.append(fib[-1] + fib[-2])
# 리스트의 마지막 항은 300을 초과하므로 제외합니다.
print(fib[:-1])
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233]
코드 설명
먼저, 초기 피보나치 수열의 첫 두 항인 0과 1을 리스트 fib
에 저장합니다. 그리고 while 루프를 사용하여, 마지막 항(fib[-1]
)이 300보다 작은 경우에만 반복하도록 fib[-1] < 300
조건을 사용하여 while 루프의 조건식을 만듭니다.
while 루프 내부에서는 새로운 피보나치 수를 계산하여 리스트 fib
에 추가합니다. 새로운 피보나치 수는 항상 리스트의 마지막 두 원소의 합으로 계산되기 때문에, fib[-1] + fib[-2]
를 사용하여 새로운 피보나치 수를 계산하고, 이를 리스트 fib
에 append()
메서드를 사용하여 추가하면 됩니다.
while 루프가 종료되면, 리스트 fib
에는 300보다 작은 모든 피보나치 수열이 저장되어 있습니다.
참고
마지막 항은 300을 초과하므로, 이를 제외하기 위해 리스트 슬라이싱을 사용하여fib[:-1]
을 출력합니다. 이렇게 하면 300보다 작은 모든 피보나치 숫자들이 출력됩니다.
관련 링크
[1] [R] 피보나치 수열 (Fibonacci numbers)
[2] [위키백과] 피보나치 수