# Fibonacci Sequence in Python: A Beginner's Guide

Written on

## Understanding Fibonacci Numbers

In this section, we will explore how to create a function fib(n) that accepts an integer n and returns the nth Fibonacci number. The Fibonacci sequence starts with 0 and 1, and each following number is the sum of the two preceding ones. The sequence looks like this: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, etc. Notably, every number beyond the first two is derived from the sum of the two previous numbers.

Here's a breakdown of the Fibonacci numbers:

Index Value Explanation

1 0 Default value

2 1 Default value

3 1 0 + 1

4 2 1 + 1

5 3 1 + 2

6 5 2 + 3

7 8 3 + 5

Before diving into the solution, take a moment to attempt the problem on your own.

### The Solution

def fib(n):

if n == 1:

return 0if n == 2:

return 1numbers = [0, 1]

for i in range(n-2):

new = numbers[-2] + numbers[-1]

numbers.append(new)

return numbers[-1]

for i in range(1, 11):

print(fib(i), end=' ')

This code initializes a list with the first two Fibonacci numbers, [0, 1]. We generate new Fibonacci numbers by adding the last two numbers in the list and appending the result. This process is repeated n-2 times, with the final number in the list representing the nth Fibonacci number.

For a more space-efficient approach, consider the following implementation:

def fib(n):

if n == 1:

return 0if n == 2:

return 1a = 0

b = 1

for i in range(n-2):

c = a + b

a = b

b = c

return c

for i in range(1, 11):

print(fib(i), end=' ')

In this version, we use three variables: a, b, and c. We compute the new Fibonacci number with c = a + b and shift a and b forward. This reduces the space complexity while still allowing us to calculate the Fibonacci numbers efficiently.

### Conclusion

I hope this explanation was clear and informative. If you found this guide helpful and would like to show your support, here are a few ways to do so:

- Give a clap for this tutorial.
- Leave a comment with your thoughts.
- Highlight any sections that resonated with you.

These gestures are greatly appreciated!

## Chapter 2: Video Demonstrations

In this chapter, we will include some useful video resources to further enhance your understanding of the Fibonacci sequence in Python.

This video titled "Python Programming Practice: LeetCode #509 - Fibonacci Number" provides a practical exercise in coding the Fibonacci sequence.

Another helpful resource is the video "Python Fibonacci Practice Problem - Fibonacci Function Example," which walks through different implementations of the Fibonacci function.