#! /usr/bin/env python # -*- coding: utf-8 -*- """ Calculs des premiers éléments de la suite de Fibonacci. Référence : http://fr.wikipedia.org/wiki/Suite_de_Fibonacci """ def fibonacci_item(n): """ Renvoie l'élément d'indice n de la suite de Fibonacci """ a, b = 0, 1 if n == 0: return a elif n == 1: return b for i in range(1,n): a, b = b, a + b return b def fibonacci_list(n): """ Renvoie la liste des éléments de la suite de Fibonacci jusqu'à l'élément n inclus. """ a, b, ans = 0, 1, [0,1] if n == 0: return [0] for i in range(1,n): a, b = b, a + b ans.append(b) return ans def fibonacci_list_from_items(n): # construit la liste à partir de la fonction donnant un élément ans = [] for i in range(n+1): ans.append(fibonacci_item(i)) return ans def fibonacci_item_from_list(n): # renvoie l'élément d'indice n comme dernier élément de la liste return fibonacci_list(n)[n] if __name__ == '__main__': i = int(input("Suite de Fibonacci. Donnez l'indice de l'élément souhaité ? ")) print("Élément de la suite : "), print(fibonacci_item(i)) print('Premiers éléments de la suite : ') for j in range(10): print(j,fibonacci_item(j)) print('Avec fibonacci_item_from_list : ') for j in range(10): print(j,fibonacci_item_from_list(j)) print("Liste des éléments de la suite de Fibonnaci jusqu'à l'élément souhaité, inclus : "), print(fibonacci_list(i)) print('Premières listes : ') for j in range(10): print(j,fibonacci_list(j)) print("Avec fibonacci_list_from_items") for j in range(10): print(j,fibonacci_list_from_items(j))