REVIT ARCHITECTURE (943) – PYTHON – Funciones (27) – Funciones simples (6) Números de Fibonacci

Los números de Fibonacci son una secuencia de números enteros construidos usando una regla muy simple:

el primer elemento de la secuencia es igual a uno (Fib1 = 1)
el segundo también es igual a uno (Fib2 = 1)
cada número subsecuente es la suma de los dos números anteriores: (Fibi = Fibi-1 + Fibi-2)
Aquí tienes algunos de los primeros números de Fibonacci:

fib_1 = 1
fib_2 = 1
fib_3 = 1 + 1 = 2
fib_4 = 1 + 2 = 3
fib_5 = 2 + 3 = 5
fib_6 = 3 + 5 = 8
fib_7 = 5 + 8 = 13

Este artículo explica como crear una Función de Python para calcular los números de Fibonacci.

7338

Esta función fib(n) calcula el enésimo número de Fibonacci.

7339

Esta línea define una función llamada fib que toma un argumento n, que es el índice del número de Fibonacci que queremos calcular.

7340

Esta condición verifica si el valor de n es menor que 1. Si es así, la función devuelve None porque los índices válidos de la secuencia de Fibonacci comienzan desde 1.

7341

Esta condición verifica si n es menor que 3. Si n es 1 o 2, la función devuelve 1, ya que los primeros dos números de la secuencia de Fibonacci son ambos 1.

7342

Estas líneas inicializan tres variables: elem_1 y elem_2 se establecen en 1 (corresponden a los dos primeros números de la secuencia de Fibonacci), y la_suma se inicializa en 0. la_suma se utilizará para almacenar el valor del enésimo (que ocupa un lugar indeterminado en una sucesión) número de Fibonacci.

7343

Este bucle for itera desde 3 hasta n inclusive. En cada iteración:
Se calcula la_suma como la suma de elem_1 y elem_2.
Luego, se actualizan elem_1 y elem_2. elem_1 toma el valor de elem_2 y elem_2 toma el valor de la_suma.
Este proceso simula el desplazamiento a través de la secuencia de Fibonacci, moviéndose un paso hacia adelante en cada iteración.

7344

Finalmente, se devuelve la_suma, que contiene el valor del enésimo número de Fibonacci.

Se va a realizar el siguiente ejemplo para comprobación de la función creada:

7345

Definición del bucle for:

7346

Este bucle for está configurado para iterar sobre un rango de valores que va desde 1 hasta 8 inclusive.
range(1, 9) genera una secuencia de números: 1, 2, 3, 4, 5, 6, 7, 8.

Cuerpo del bucle:

7347

Dentro del bucle, para cada valor de n, se ejecuta la función fib(n) para calcular el enésimo número de Fibonacci.
El resultado de fib(n) se imprime junto con el valor de n en el formato n -> resultado.
print(n, «->», fib(n)) produce una salida que muestra el índice n seguido del valor del enésimo número de Fibonacci.

Ejecución del bucle
Veamos la ejecución del bucle paso a paso:

Primera iteración (n = 1):

fib(1) se llama.
La función fib devuelve 1 (porque n < 3).
Se imprime 1 -> 1.

Segunda iteración (n = 2):

fib(2) se llama.
La función fib devuelve 1 (porque n < 3).
Se imprime 2 -> 1.

Tercera iteración (n = 3):

fib(3) se llama.
La función calcula el tercer número de Fibonacci, que es 2.
Se imprime 3 -> 2.

Cuarta iteración (n = 4):

fib(4) se llama.
La función calcula el cuarto número de Fibonacci, que es 3.
Se imprime 4 -> 3.

Quinta iteración (n = 5):

fib(5) se llama.
La función calcula el quinto número de Fibonacci, que es 5.
Se imprime 5 -> 5.

Sexta iteración (n = 6):

fib(6) se llama.
La función calcula el sexto número de Fibonacci, que es 8.
Se imprime 6 -> 8.

Séptima iteración (n = 7):

fib(7) se llama.
La función calcula el séptimo número de Fibonacci, que es 13.
Se imprime 7 -> 13.

Octava iteración (n = 8):

fib(8) se llama.
La función calcula el octavo número de Fibonacci, que es 21.
Se imprime 8 -> 21.

Salida completa del bucle de pruebas

Después de ejecutar todas las iteraciones, la salida del bucle es:

7348

Cada línea muestra el valor de n y el correspondiente número de Fibonacci calculado por la función fib(n).

Licencia Creative Commons Contenido Web de Yolanda Muriel está sujeto bajo Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.