Fibonacci Series Program In Python Using Iterative Method
Last Updated :
14 Feb, 2024
Fibonacci series is a series where each number is the sum of its two previous numbers. In this article, we are going to generate Fibonacci series in Python using Iterative methods. We will be covering both the loops i.e. for loop and while loop.
In this article, we will be covering all the concepts related to the topic with clear and concise examples with their respective explanations.
To get the nth element of the Fibonacci Series:
F(n) = F(n-1) + F(n-2)
Examples
Input : n = 10
Output : Fibonacci Series: 0 1 1 2 3 5 8 13 21 34
Fibonacci Series Program Using Iterative Method
Below are some of the ways by which we can find fibonacci series using iterative method in Python:
- Using for loop
- Using While loop
Fibonacci Series Program Using for loop
Case 1: Using List to Store Elements
In this case, we are going to store elements of our Fibonacci series inside a Python list. We are also using negative indexing of the list to get the last and second last element.
Python3
#defining function to return list of fibonacci elements
def fibonacci(n):
l = [0,1]
for i in range(2,n):
l.append(l[-1]+l[-2])
return l
#Main function
if __name__ == "__main__":
#defining the total number of elements
n = 10
#calling of function
fibo = fibonacci(n)
#displaying the function
print("Fibonacci Series: ",*fibo)
OutputFibonacci Series: 0 1 1 2 3 5 8 13 21 34
Time Complexity: O(n), where n is the number of elements.
Space Complexity: O(n), where n is the number of elements.
Case 2: Using Two Variables Approach
In this case, we are going to implement two variables approach. In this approach, we are going to store first two elements of Fibonacci series (lets say a, b) and then add those elements and yield to the main function. After this we will swap 'a' with 'b' and 'b' with 'sum'.
Note: Unlike the previous approach it takes less space in memory. Since it do not store the list elements that we do in the previous approach.
Python3
#Creating a Fibonacci function
def fibonacci(n):
#defining first two variables
a,b = 0,1
yield 0
yield 1
for i in range(2, n):
yield a+b
#swaping a with b and b with sum
a,b = b, a+b
if __name__ == "__main__":
n = 10
# Function Calling
gen = fibonacci(n)
#displaying the series
print("Fibonacci Series: ",end="")
for i in range(n):
print(next(gen), end=" ")
OutputFibonacci Series: 0 1 1 2 3 5 8 13 21 34
Time Complexity: O(n), where n is the number of elements.
Space Complexity: O(1)
Fibonacci Series Program Using while loop
Case 1: Using List to Store Elements
In this case, just like we did it in for loop part, we will be using list to store the Fibonacci series element. We have to define a list with first two elements of Fibonacci Series.
Python3
#defining function to return list of fibonacci elements
def fibonacci(n):
i = 0
l = [0,1]
while i < n-2:
l.append(l[-1]+l[-2])
i+=1
return l
#Main function
if __name__ == "__main__":
#defining the total number of elements
n = 10
#calling of function
fibo = fibonacci(n)
#displaying the function
print("Fibonacci Series: ",*fibo)
OutputFibonacci Series: 0 1 1 2 3 5 8 13 21 34
Time Complexity: O(n), where n is the number of elements.
Space Complexity: O(n), where n is the number of elements.
Case 2: Using Two Variables Approach
In this approach, we will use the same method that we have used it in the for loop part. We will just define first two elements of the series in the variable a and b. Then we will pass the first two elements to the main function and then add theses two variables and pass to the main function. After this we will swap 'a' with 'b' and 'b' with 'sum', likewise we have done in the previous approach.
Python3
#Creating a Fibonacci function
def fibonacci(n):
#defining first two variables
a,b,i = 0,1,0
yield 0
yield 1
while i < n-2:
yield a+b
a,b = b, a+b
if __name__ == "__main__":
n = 10
# Function Calling
gen = fibonacci(n)
#displaying the series
print("Fibonacci Series: ",end="")
for i in range(n):
print(next(gen), end=" ")
OutputFibonacci Series: 0 1 1 2 3 5 8 13 21 34
Time Complexity: O(n), where n is the number of elements.
Space Complexity: O(1)
Similar Reads
Fibonacci Series In Python Using For Loop' The Fibonacci series is a sequence of numbers in which each number is the sum of the two preceding ones, usually starting with 0 and 1. The sequence goes as follows: 0, 1, 1, 2, 3, 5, 8, 13, 21, and so on. This series is not only intriguing due to its inherent mathematical properties but also widely
3 min read
Python | Find fibonacci series upto n using lambda The Fibonacci numbers are the numbers in the following integer sequence. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ........ In mathematical terms, the sequence Fn of Fibonacci numbers is defined by the recurrence relation Fn = Fn-1 + Fn-2 with seed values F0 = 0 and F1 = 1. Find the series of fi
2 min read
Python Program for n-th Fibonacci number In mathematical terms, the sequence Fn of Fibonacci numbers is defined by the recurrence relation Fn = Fn-1 + Fn-2With seed values F0 = 0 and F1 = 1.Table of ContentPython Program for n-th Fibonacci number Using Formula Python Program for n-th Fibonacci number Using RecursionPython Program for n-th
6 min read
Python Program to Display Fibonacci Sequence Using Recursion We are given a task to write the Fibonacci sequence using recursion. we will take the range as input of integer and then print the Fibonacci Sequence. In this article, we will see the method of Python Program to Display Fibonacci Sequence Using Recursion. Example: Input: n = 9Output: 0 1 1 2 3 5 8 1
2 min read
Python program to print Aitken's array Given a number n. The task is to print the Aikten's array upto n. Examples: Input: 5 Output: [1] [1, 2] [2, 3, 5] [5, 7, 10, 15] [15, 20, 27, 37, 52] Input: 7 Output: [1] [1, 2] [2, 3, 5] [5, 7, 10, 15] [15, 20, 27, 37, 52] [52, 67, 87, 114, 151, 203] [203, 255, 322, 409, 523, 674, 877] To print it
2 min read
Python - Summation of consecutive elements power Given a List, the task is to write a Python program to compute summation of power of consecutive elements occurrences frequency. Examples: Input : test_list = [2, 2, 2, 3, 3, 3, 3, 4, 4, 5] Output : 110 Explanation : 2^3 + 3^4 + 4^2 + 5 = 110 Input : test_list = [2, 2, 2, 3, 3, 3, 3, 4, 4] Output :
3 min read