# Solution to Fibonacci Sequence using functions in Python

**URL:** <https://forum.codewithmosh.com/t/solution-to-fibonacci-sequence-using-functions-in-python/27718>\
**Category:** Python\
**Created:** [July 18, 2024, 6:11am UTC](https://forum.codewithmosh.com/t/solution-to-fibonacci-sequence-using-functions-in-python/27718 "2024-07-18T06:11:56Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gourav97](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/gourav97/32/8436_2.png) [@Gourav97](https://forum.codewithmosh.com/u/Gourav97)\
**Post date:** [July 18, 2024, 6:11am UTC](https://forum.codewithmosh.com/t/solution-to-fibonacci-sequence-using-functions-in-python/27718/1 "2024-07-18T06:11:56Z")

</div>

Here is the solution to Fibonacci Sequence using functions in Python which is given below:

def FibonacciSeries(n):  
if n \< 0:  
print(“Invalid Input”)  
elif n==0:  
return 0  
elif n==1 or n==2:  
return 1  
else:  
return FibonacciSeries(n-1) + FibonacciSeries(n-2)

number = int(input("Enter range: "))  
first\_fibonacci\_series = [FibonacciSeries(i) for i in range(number)]  
print(first\_fibonacci\_series)

---

<div class="post-metadata">

**Author:** ![kevinhu](https://avatars.discourse-cdn.com/v4/letter/k/ba9def/32.png) [@kevinhu](https://forum.codewithmosh.com/u/kevinhu)\
**Post date:** [September 4, 2024, 4:33pm UTC](https://forum.codewithmosh.com/t/solution-to-fibonacci-sequence-using-functions-in-python/27718/2 "2024-09-04T16:33:34Z")

</div>

I try to run this code and enter 40 as range. I wait for a while just see the output until I decided to cancel it, so this code is inefficient for large values of `n` due to repeated calculations of the same Fibonacci numbers.

---

<div class="post-metadata">

**Author:** ![Gourav97](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.codewithmosh.com/gourav97/32/8436_2.png) [@Gourav97](https://forum.codewithmosh.com/u/Gourav97)\
**Post date:** [September 5, 2024, 4:23am UTC](https://forum.codewithmosh.com/t/solution-to-fibonacci-sequence-using-functions-in-python/27718/3 "2024-09-05T04:23:46Z")

</div>

You are right. I used recursion at that time to do Fibonacci Sequence. This time I used Optimization to do Fibonacci Sequence. Here is the optimized code below.

def FibonacciSeries(n):  
a = 0  
b = 1  
if n \< 0:  
print(“Invalid Input”)  
elif n==0:  
return 0  
elif n==1 or n==2:  
return 1  
else:  
for i in range(1, n):  
c = a + b  
a = b  
b = c  
return b

number = int(input("Enter range: "))  
first\_fibonacci\_series = [FibonacciSeries(i) for i in range(number)]  
print(first\_fibonacci\_series)
