Python Program to Print Fibonacci Series

This article is created to cover multiple programs in Python, to print Fibonacci series. List of programs covered in this article are:

  • Fibonacci series program in Python up to n terms
  • Fibonacci series program in Python using for loop
  • Fibonacci series program in Python using while loop
  • Fibonacci series program in Python using list

Fibonacci series are formed in a way that, the first two terms are 0 and 1, rest of all the terms are in a way that, the next term is the summation of previous two terms. For example, the first 8 terms of Fibonacci series are: 0, 1, 1, 2, 3, 5, 8, 13.

Print Fibonacci Series up to N Term in Python

The question is, write a Python program to print Fibonacci series up to given number of term. The program given below is its answer:

a = 0
b = 1
c = 0
print("Enter the Value of n: ", end="")
n = int(input())
print("\nFibonacci Series:", a, b, end=" ")
c = a+b
n = n-2
while n>0:
    print(c, end=" ")
    a = b
    b = c
    c = a+b
    n = n-1

The snapshot given below shows the sample run of above program, with user input 10 as value of n to print first 10 terms of Fibonacci series:

python program print Fibonacci series

But the problem is, what if user enters 0 or 1 as the value of n to print none or only 1 term of Fibonacci series ?
Since the first two term of the Fibonacci series, is already printed manually, therefore the program is not perfect. It need to be modified. Therefore I've created another program, given below, after modifying the above one.

Print Fibonacci Series in Python using for Loop

This program is basically the modified version of previous program. But still the program is not perfect. The complete and perfect program for printing of Fibonacci series, is given at last of this article.

b = 1
c = 0
print("Enter the Value of n: ", end="")
n = int(input())

print("\nFirst", n, "Terms of Fibonacci Series are:")
for i in range(1, n+1):
    if i == 1:
        c = 0
    elif i == 2 or i == 3:
        c = 1
    else:
        a = b
        b = c
        c = a+b
    if i == n:
        print(c)
    else:
        print(c, end=" ")

Sample run of the above program, with user input 14 is shown in the snapshot given below:

Fibonacci series program in python using for loop

Print Fibonacci Series in Python using while Loop

This is the same program as of previous, but created using while loop, instead of for:

print("Enter the Value of n: ", end="")
n = int(input())

print("\nFirst", n, "Terms of Fibonacci Series are:")
b = 1
c = 0
i = 1
while i <= n:
    if i == 1:
        c = 0
    elif i == 2 or i == 3:
        c = 1
    else:
        a = b
        b = c
        c = a+b
    if i == n:
        print(c)
    else:
        print(c, end=" ")
    i = i+1

Print Fibonacci Series in Python using List

This is the last program of this article, created using list to print Fibonacci series in Python. This program uses list to store all the terms of Fibonacci series, to print all the elements of the list, further, that will be, of course the Fibonacci series.

print("Enter the Value of n: ", end="")
n = int(input())

fib = list()
b = 1
c = 0
i = 1
while i <= n:
    if i == 1:
        c = 0
    elif i == 2 or i == 3:
        c = 1
    else:
        a = b
        b = c
        c = a+b
    fib.append(c)
    i = i+1

if len(fib) == 0:
    print("\nOk!")
else:
    print("\nFirst", n, "Terms of Fibonacci Series are:")
    for i in fib:
        print(i, end=" ")

Same Program in Other Languages

Python Online Test


« Previous Program Next Program »