Listes en Python : application aux suites et aux fonctions
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.
- 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.
- 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
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.
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 :

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

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 :

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 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) :

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 :

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

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.
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 :
[2, 6, 18, 54, 162]

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

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.
Soit la fonction f (x) = 2x2 – 6x
définie sur [0 ; 4].
On veut déterminer les valeurs
de f (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 :
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 :


Fiches de cours les plus recherchées


Des profs en ligne
- 6 j/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