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
Python Tutorial | Learn Python Programming Language Python Tutorial â Python is one of the most popular programming languages. Itâs simple to use, packed with features and supported by a wide range of libraries and frameworks. Its clean syntax makes it beginner-friendly.Python is:A high-level language, used in web development, data science, automatio
10 min read
Python Interview Questions and Answers Python is the most used language in top companies such as Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify and many more because of its simplicity and powerful libraries. To crack their Online Assessment and Interview Rounds as a Python developer, we need to master important Pyth
15+ min read
Non-linear Components In electrical circuits, Non-linear Components are electronic devices that need an external power source to operate actively. Non-Linear Components are those that are changed with respect to the voltage and current. Elements that do not follow ohm's law are called Non-linear Components. Non-linear Co
11 min read
Python OOPs Concepts Object Oriented Programming is a fundamental concept in Python, empowering developers to build modular, maintainable, and scalable applications. By understanding the core OOP principles (classes, objects, inheritance, encapsulation, polymorphism, and abstraction), programmers can leverage the full p
11 min read
Python Projects - Beginner to Advanced Python is one of the most popular programming languages due to its simplicity, versatility, and supportive community. Whether youâre a beginner eager to learn the basics or an experienced programmer looking to challenge your skills, there are countless Python projects to help you grow.Hereâs a list
10 min read
Python Exercise with Practice Questions and Solutions Python Exercise for Beginner: Practice makes perfect in everything, and this is especially true when learning Python. If you're a beginner, regularly practicing Python exercises will build your confidence and sharpen your skills. To help you improve, try these Python exercises with solutions to test
9 min read
Python Programs Practice with Python program examples is always a good choice to scale up your logical understanding and programming skills and this article will provide you with the best sets of Python code examples.The below Python section contains a wide collection of Python programming examples. These Python co
11 min read
Spring Boot Tutorial Spring Boot is a Java framework that makes it easier to create and run Java applications. It simplifies the configuration and setup process, allowing developers to focus more on writing code for their applications. This Spring Boot Tutorial is a comprehensive guide that covers both basic and advance
10 min read
Class Diagram | Unified Modeling Language (UML) A UML class diagram is a visual tool that represents the structure of a system by showing its classes, attributes, methods, and the relationships between them. It helps everyone involved in a projectâlike developers and designersâunderstand how the system is organized and how its components interact
12 min read
Enumerate() in Python enumerate() function adds a counter to each item in a list or other iterable. It turns the iterable into something we can loop through, where each item comes with its number (starting from 0 by default). We can also turn it into a list of (number, item) pairs using list().Let's look at a simple exam
3 min read