Listes en Python : application aux suites et aux fonctions- Première- Mathématiques - Maxicours

Listes en Python : application aux suites et aux fonctions

Objectifs

Dans le cadre des suites et des fonctions :

  • Définir une liste en Python par extension et par compréhension.
  • Manipuler les éléments d’une liste (ajout, suppression, modification).
  • Parcourir les éléments d’une liste.
  • Itérer sur les éléments d’une liste.
Points clés
  • On considère une suite définie en fonction de la variable n. Par un programme informatique, on peut obtenir les n premiers termes de cette suite de deux façons différentes : soit on passe par une liste définie en compréhension, soit on passe par une fonction.
  • On considère une suite définie par récurrence, c’est-à-dire dont chaque terme est défini en fonction du terme précédent. On peut obtenir les n premiers termes par une fonction donnée en langage Python ; on peut déterminer un terme d’indice n par une fonction donnée en langage Python.
  • On peut déterminer facilement les images d’une liste de valeurs par une fonction donnée en langage Python.
    Ensuite, la fonction prédéfinie pylab permet d’obtenir la courbe de la fonction.
Pour bien comprendre
  • Connaitre la notion de variable en Python
  • Savoir utiliser des instructions conditionnelles et des boucles
  • Connaitre la notion de fonction en Python
  • Connaitre la notion de liste en Python
1. Suites définies en fonction de la variable n
a. Principe

On considère une suite définie en fonction de la variable n. Par un programme informatique, on peut obtenir les n premiers termes de cette suite de deux façons différentes : soit on passe par une liste définie en compréhension, soit on passe par une fonction.

b. Exemple en utilisant une liste en compréhension
Rappel
Une liste définie en compréhension nécessite une commande du type [valeur boucle].

On considère une suite numérique (un) définie pour tout entier naturel n par un = 15 × 0,9n + 3.
Pour obtenir le ou les premiers termes de la suite un = 15 × 0,9n + 3, on définit la liste suite, qui retourne les n premiers termes de la suite :

Remarques
  • La commande 15*0,9**n+3 for n in range(0) demande de créer une liste contenant « les zéro premiers termes » de la suite, ce qui est impossible. On obtient donc une liste vide.
  • La commande 15*0,9**n+3 for n in range(1) demande de créer une liste contenant le « 1 premier terme » de la suite, c’est-à-dire le premier terme qui vaut 18.
c. Exemple en utilisant une fonction

Pour obtenir le ou les premiers termes de la suite un = 15 × 0,9n + 3, on utilise deux fonctions en Python :

  • la première, suite(n,f), retourne les n premiers termes d’une suite définie par un = f (n), où f est une fonction numérique ;
  • la seconde, f (x), définit la fonction f et retourne l’image de x par f.

On définit ces deux fonctions l’une à la suite de l’autre dans la console puis on les exécute :

Remarque
On peut reprendre ces fonctions pour une autre suite en modifiant uniquement la définition de la fonction à la ligne 8.
Par exemple, si l’on veut déterminer les termes de la suite définie par un = 3n – 5, il suffit de modifier la ligne 8 du programme :
2. Suites définies par récurrence : obtenir les n premiers termes
a. Principe

On considère une suite définie par récurrence, c’est-à-dire dont chaque terme est défini en fonction du terme précédent. On peut obtenir les n premiers termes par une fonction donnée en langage Python.

b. Exemple

On considère la suite (un) définie par récurrence par u0 = 2 et, pour tout entier naturel n, par un+1 = 3 × un.
On veut déterminer à l’aide d’un programme Python la valeur des n premiers termes.
On construit une fonction suite(n) qui retourne les n premiers termes de la suite (un) :

Remarque
La condition if n>0 est importante car le premier terme est défini à la ligne suivante (il s’agit de u0, qui vaut 2), donc la relation de récurrence ne commence à fonctionner qu’à partir de n = 1.

Après exécution du programme, on obtient :

Remarques
  • On observe ci-dessus qu’il faut bien différencier la commande suite(n), avec des parenthèses, de la commande suite[n], avec des crochets. La commande suite(n) appelle une liste des n premiers termes de la suite, tandis que suite[n] appelle un seul terme, le terme de la suite qui a pour indice n.
  • Il suffit de modifier les lignes 5 et 9 pour utiliser la fonction avec une autre suite.
    Par exemple, pour la suite (un) définie par récurrence par u0 = 5 et pour tout entier naturel n, par un+1 = un – 2, le programme devient :

Et on obtient comme résultat :

3. Suites définies par récurrence : obtenir le terme d'indice n
a. Principe

On considère une suite définie par récurrence, c’est-à-dire dont chaque terme est défini en fonction du terme précédent. On peut déterminer un terme d’indice n par une fonction donnée en langage Python.

b. Exemple

On reprend le problème vu précédemment.
Soit la suite (un) définie par récurrence par u0 = 2 et, pour tout entier naturel n, par un+1 = 3 × un. On peut construire une fonction u(n) en langage Python qui déterminera la valeur du terme un.
Cette fonction sera définie par récurrence, c’est à dire que pour déterminer la valeur u(n), elle va déterminer toutes les valeurs précédentes. On définit et on exécute la fonction u(n) qui retourne uniquement le terme d’indice n de la suite (un) :

Pour obtenir les 5 premiers termes de cette suite, on peut alors utiliser une liste définie par compréhension :

>>>[u(i) for i in range(5)]
[2, 6, 18, 54, 162]
Remarques
  • La commande suite=[u(i) for i in range(5)] fait apparaitre une liste contenant les 5 premiers termes de la suite, tandis que suite[n] appelle un seul terme, le terme de la suite qui a pour indice n.
  • Il suffit de modifier les lignes 5 et 7 pour définir une autre suite. Par exemple, pour la suite de Fibonacci définie par u0 = u1 = 1 et, pour tout entier naturel n, par un+2 = un+1 + un, on obtient :
4. Tableau de valeurs d'une fonction et représentation graphique
a. Principe

On peut déterminer facilement les images d’une liste de valeurs par une fonction donnée en langage Python.
Ensuite, la fonction prédéfinie pylab permet d’obtenir la courbe de la fonction.

b. Exemple

Soit la fonction f (x) = 2x2 – 6x définie sur [0 ; 4].
On veut déterminer les valeurs de (x) pour x ∈ {0, 1, 2, 3, 4}.
On peut entrer dans un programme une fonction en Python déterminant l’image d’un nombre par la fonction :

def f(x):
     return 2*x**2-6*x

Ces valeurs permettent d’obtenir la courbe de la fonction avec pylab :

La courbe n’est pas lisse puisqu’elle est tracée avec uniquement 5 points. Pour y remédier, on peut définir une liste x comprenant, par exemple, toutes les valeurs de 0 à 4 distantes d’un pas de 0.1. On obtient alors :

Vous avez déjà mis une note à ce cours.

Découvrez les autres cours offerts par Maxicours !

Découvrez Maxicours

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Des profs en ligne

quote blanc icon

Découvrez Maxicours

Exerce toi en t’abonnant

Des profs en ligne

  • 6j/7 de 17 h à 20 h
  • Par chat, audio, vidéo
  • Sur les matières principales

Des ressources riches

  • Fiches, vidéos de cours
  • Exercices & corrigés
  • Modules de révisions Bac et Brevet

Des outils ludiques

  • Coach virtuel
  • Quiz interactifs
  • Planning de révision

Des tableaux de bord

  • Suivi de la progression
  • Score d’assiduité
  • Un compte Parent