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.
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.