La sequenza di Fibonacci è una successione matematica di numeri in cui ogni numero è la somma dei due numeri precedenti. La sequenza inizia con $0$ e $1$, e procede come segue: $0$, $1$, $1$, $2$, $3$, $5$, $8$, $13$, $21$, $34$, $55$, $89$, $144$, e così via. La sequenza di Fibonacci si trova in molti fenomeni naturali, come l'arrangiamento delle foglie su un ramo, la spirale delle conchiglie e la ramificazione degli alberi. La sequenza di Fibonacci è definita matematicamente dalla seguente formula ricorsiva: $$F(n) = F(n-1) + F(n-2),$$ dove $F(n)$ è l'ennesimo numero della sequenza di Fibonacci, $F(n-1)$ è il numero precedente nella sequenza e $F(n-2)$ è il numero precedente a quello precedente.La sequenza di Fibonacci è interessante per molti motivi. In primo luogo, è presente in molti fenomeni naturali, come la disposizione delle foglie su un ramo, i petali dei fiori, le conchiglie dei molluschi, e molti altri. Questo perché la successione rappresenta la crescita esponenziale in natura. Inoltre, la sequenza di Fibonacci ha numerose proprietà interessanti. Ad esempio, il rapporto tra due numeri consecutivi della sequenza di Fibonacci si avvicina sempre alla costante matematica nota come "razionale d'oro" o "numero di Fibonacci": $$\phi = \frac{\left(1 + \sqrt{5}\right)}{2} \approx 1,61803398875.$$Questo significa che se si prende un numero nella sequenza di Fibonacci e si divide il successivo, il risultato si avvicina sempre a $\phi$. Il rapporto aureo, anche noto come proporzione divina, si può trovare in natura, arte e architettura, ed è spesso associato alla bellezza e all'armonia. Grazie al valore di $\phi$ si può calcolare l'ennesimo numero della sequenza di Fibonacci senza dover calcolare tutti i numeri precedenti: $$F(n) = \frac{\left[\phi^n - \left(1-\phi\right)^n\right]}{5}$$ Questo script Python genera la sequenza di Fibonacci e calcola il rapporto tra gli ultimi due numeri della sequenza e la differenza tra questo rapporto e il razionale d'oro. Nel codice, viene definita la costante 'GOLDEN_RATIO' come descritto precedentemente. La funzione 'fibonacci_sequence(length)' definisce la sequenza di Fibonacci utilizzando un loop for. La funzione prende come argomento la lunghezza della sequenza che si desidera generare. Viene inizializzata una lista chiamata 'sequence' contenente i primi due numeri della sequenza. Viene poi definita una coppia di variabili $x$ e $y$, inizializzate rispettivamente a $0$ e $1$, che rappresentano gli ultimi due numeri della sequenza. Utilizzando un loop for, la funzione genera il resto della sequenza di Fibonacci aggiornando continuamente $x$ e $y$ e aggiungendo $y$ alla lista sequence. Infine, la funzione restituisce la lista sequence. La funzione 'main()' utilizza la funzione fibonacci_sequence() per generare la sequenza di Fibonacci. Viene richiesto all'utente di inserire la lunghezza della sequenza di Fibonacci che si desidera generare. Successivamente, viene utilizzata la funzione fibonacci_sequence() per generare la sequenza di Fibonacci e viene stampata la sequenza risultante. Viene poi calcolato il rapporto tra gli ultimi due numeri nella sequenza e viene stampato. Viene anche calcolata la differenza tra questo rapporto e il razionale d'oro, GOLDEN_RATIO, e viene stampata.