Fibonacci en Python - Método iterativo, recursivo e impresión de serie

Fibonacci en Python

Hoy te enseñaré cómo trabajar  con la secuencia Fibonacci en Python. Te enseñaré a obtener el número que va en determinada posición, así como imprimir toda la serie hasta determinado número.

Veremos las dos formas de trabajar con esta sucesión en Python: de manera iterativa con un ciclo for, y de manera recursiva invocando a la función dentro de sí misma.

Sobre la sucesión Fibonacci

Esta sucesión comienza en 0 y 1. Después, cada elemento es la suma de los dos anteriores. La serie comienza así:

0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,6765

Para este caso podemos decir que el Fibonacci de 7 es 13, pues en la posición 7 está el 13 (contando desde la posición 0). Pues bien, veamos cómo obtener el Fibonacci de determinado número y cómo imprimir la secuencia hasta determinado número usando Python.

Serie con ciclo for

Comencemos viendo cómo hacer esta sucesión usando un ciclo, con el método iterativo. Aquí también es donde podemos imprimir la secuencia, pero además podemos regresar el valor que va en la posición N de Fibonacci.

Como puedes ver, la función recibe un número que indica la posición de Fibonacci que se quiere devuelta, pero además recibe un parámetro que le indica si debería imprimir la sucesión.

Fibonacci recursivo

Ahora veamos el otro enfoque de manera recursiva. En este caso no proporcionamos la manera de imprimir el valor, simplemente devolvemos el valor de la serie que va en la posición dada por el argumento.

La condición de salida de esta función recursiva (es decir, lo que indica que la recursividad termina) es que la posición sea menor que 2.

Uso de las funciones

Es momento de ver el uso de estas funciones. Primero veamos cómo imprimir la sucesión hasta determinado número sin que nos importe el valor de retorno:

También podemos obtener el Fibonacci que va en determinada posición:

Solo ten cuidado con el método recursivo cuando la posición sea un valor grande, pues puede llevarse su tiempo. En caso de que quieras algo rápido, usa el método iterativo.

Poniendo todo junto

El código completo de Python para tratar con la serie del artículo queda como se ve a continuación:

Al ejecutarlo en mi caso, los valores son correctos. Recuerda que la posición cuenta desde 0.

Fibonacci en Python - Método iterativo, recursivo e impresión de serie
Fibonacci en Python – Método iterativo, recursivo e impresión de serie

Si quieres puedes probar el código en línea en este enlace. También te invito a leer más sobre Python en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario