Generate Fibonacci numbers with Python

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …

Mathematically, we write it as:
F(n) = F(n) + F(n-1)

This can easily be done in Python, using generators.

def Fibonacci(n):
    a, b = 1, 1
    while b < n:
        yield b
        a, b = b, a + b

To print all the Fibonacci numbers less than 4000000,

for i in Fibonacci(4000000):
    print i,

Output:

>>> 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578

Related

This entry was posted in Python and tagged , . Bookmark the permalink.

5 Responses to Generate Fibonacci numbers with Python

  1. KNizam says:

    tak letak shoutbox ke eh ? hehe :roll:

  2. Selinap says:

    Nak letak mana bagus?

  3. Pingback: Even-valued Fibonacci terms summation | Selinap

  4. Fail says:

    Actually, that should be:
    a, b = 1, 0
    Otherwise it won’t emit the first two, 0 and 1.

  5. Selinap says:

    If you read carefully, I have stated “By starting with 1 and 2, the first 10 terms will be: …”.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>