Home » Python Tutorial » Fibonacci series in python

Fibonacci series in python

Fibonacci series in python is a sequence of numbers in which the current term is the sum of the previous two terms. The first two terms of the Fibonacci sequence are 0 and 1. So what is the logic behind this? Let’s understand it in detail.

The logic behind Fibonacci sequence in python

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597,… this is the Fibonacci sequence. As you can see, the first two terms of the sequence are 0 and 1. The third term is an addition to the first two terms and so on. 

In general,

Fn = Fn-1 + Fn-2

Where Fn is a current term.

Examples of the Fibonacci series program in python

We can implement the Fibonacci series logic in many ways. We will learn with for loop, while loop, recursion, and dynamic memory allocation. 

Fibonacci series in python using for loop

Accept the number of terms from the user and pass that number in the loop and implement the Fibonacci number’s logic in the loop.

Example

n = int(input("Enter number of terms: "))
n1, n2 = 0, 1 # first two terms of fibonacci series
i = 0  #variable for loop

if n <= 0:
  print("Please enter a positive integer")
elif n == 1:
  print("Fibonacci sequence upto",n,":")
  print(n1)
else:
  print("Fibonacci sequence:")
  for i in range(n):  #for loop upto nth term
      print(n1)
      sum = n1 + n2  #Logic for the fibonacci series
      n1 = n2
      n2 = sum
      i += 1

Output

Enter number of terms: 10
Fibonacci sequence:
0
1
1
2
3
5
8
13
21
34

Fibonacci series in python using while loop

Take a number of terms of the Fibonacci series as input from the user and iterate while loop with the logic of the Fibonacci series.

Example

n = int(input("Enter number of terms: "))
n1, n2 = 0, 1 # first two terms of fibonacci series
i = 0

if n <= 0:
  print("Please enter a positive integer")
elif n == 1:
  print("Fibonacci sequence upto",n,":")
  print(n1)
else:
  print("Fibonacci sequence:")
  while(i<n): # Exit condition
      print(n1)
      sum = n1 + n2 #Logic for the fibonacci series
      n1 = n2
      n2 = sum
      i += 1

Output

Enter number of terms: 10
Fibonacci sequence:
0
1
1
2
3
5
8
13
21
34

Fibonacci series using recursion in python

Same logic as above, accept a number from the user and pass it to the function. The function will return the value and outside we print it.

def Fibonacci(n): #fibinacci function
   if n < 0:
       print("Incorrect input")

   elif n == 0:
       return 0

   elif n == 1 or n == 2:
       return 1

   else:
       return Fibonacci(n - 1) + Fibonacci(n - 2) #Logic for the fibonacci series

n = int(input("Enter number of terms: "))

i = 0
for i in range(n):
   print(Fibonacci(i))

Output

Enter number of terms: 10
0
1
1
2
3
5
8
13
21
34

Printing Nth term of Fibonacci series using recursion

Accept a number of a term from the user and pass it to the function. It will return the exact term of the Fibonacci series.

Example

def Fib(x): #fibinacci function
   if x < 0:
       print("Incorrect input")
   elif x == 0:
       return 0
   elif x == 1 or x == 2:
       return 1
   else:
       return Fib(x-1) + Fib(x-2) #Logic for the fibonacci series

x = int(input("Enter number of terms: "))
print(Fib(x))

Output

Enter number of terms: 10
55

Printing Fibonacci series dynamically

Initialize an array with 0 and 1 and accept a number of terms from the user. The function will append the values to the array which will reduce memory wastage.

Example

def fib(n):
   a = [0,1]
   if n == 1:
       print('0')
   elif n == 2:
       print(a)
   else:
       while(len(a) < n):
           a.append(0)
       if(n == 0 or n == 1):
           return 1
       else:
           a[0]=0
           a[1]=1
           for i in range(2, n):
               a[i]=a[i - 1]+a[i - 2]
           print("First {} terms of fibonacci series:".format(n),a)
           return a[n - 2]

n = int(input("Enter number of term: "))
fib(n)

Output

Enter number of term: 10
First 10 terms of fibonacci series: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
Did you know?
1. Leap Year Program in Python
2. Factorial Program in Python
3. Python Split with Examples
4. Python Substring
5. Features of Python
6. Python Square Root
7. Python Round() Function
8. Python Strip
9. Python Queue
10. Fibonacci Series In Python

Pin It on Pinterest