La boucle for

Les boucles

Crée un compte
pour enregistrer ta progression

S'inscrire

La boucle for

Besoin d'aide ?

Essaie d'être le plus exhaustif possible en donnant suffisamment de détails pour qu'on puisse te répondre du premier coup 😉

Tu souhaites nous remonter un bug ? Utilise-plutôt ce formulaire.

Cette fonctionnalité est réservée aux membres de la formule accompagnement de Docstring.

Toutes les questions

La boucle for

Dans cette partie, on va voir un autre concept fondamental de la programmation, qui est la clé de l'automatisation de processus qui peuvent être très longs pour l'être humain que nous sommes, mais très rapides à exécuter pour une machine.

Ce concept, c'est le concept des boucles.

Une boucle, ça sert principalement à deux choses :

  • Pouvoir répéter une opération un certain nombre de fois. Jusqu'à présent, si on voulait exécuter une opération deux fois ou plus, on n'avait pas vraiment d'autre option que de dupliquer nos lignes de code. Avec les boucles, on va pouvoir exécuter une opération des milliers de fois, avec seulement quelques lignes de code.

  • Pouvoir parcourir des structures de données, comme les listes. On pourrait ainsi passer à travers une liste de fichiers pour les trier et supprimer les fichiers trop volumineux.

C'est un exemple parmi tant d'autres. Vous allez voir qu'une fois qu'on sait utiliser les boucles, on ne peut plus s'en passer.

Tout d'abord, il faut savoir qu'en Python, il existe deux types de boucles, les boucles for et les boucles while.

Dans cette partie, on va s'intéresser à la boucle for.

La syntaxe des boucles for

La boucle for permet principalement de parcourir des structures de données. La syntaxe d'une boucle for est assez simple et elle ressemble à la syntaxe d'une structure conditionnelle.

for element in liste:
    print(element)

On retrouve les deux points : à la fin de la ligne et l'indentation sur la ligne suivante, qui indique un bloc d'instructions. On comprend donc, avec l'indentation, que le print appartient à la boucle.

Pour définir une boucle, on utilise le mot for, qui signifie pour, et le mot in, qui signifie dans.

Si on traduit cette boucle en français ça donne :

pour element dans liste:
    print(element)

Cette boucle va donc nous permettre de parcourir une structure de données, en l'occurrence ici, une liste.

👉 element est tout simplement une variable. On peut donc l'appeler comme on veut. Elle sera automatiquement affectée, à chaque itération de la boucle, à une valeur de notre liste.

Exemples

Boucle for passant à travers une liste de nombres

Pour que vous compreniez bien comment fonctionne une boucle, on va prendre un exemple plus concret d'une boucle qui passe à travers une liste de nombres.

for i in [0, 1, 4, 7, 8]:
    print(i)

Vous voyez ici que j'ai changé le nom de ma variable et que je l'ai appelée i. C'est une convention que vous allez retrouver très souvent : quand on boucle sur une liste de nombres, on utilise généralement comme nom de variable i.

On pourrait cependant appeler cette variable element ou même jean_paul. Mais il est préférable de bien nommer vos variables et de suivre les conventions, pour que votre code reste compréhensible.

Ce qu'il faut bien comprendre avec les boucles, c'est que Python va se charger tout seul d'assigner à i la valeur de l'itération courante.

Une itération, c'est le fait de répéter un processus. Ici, on boucle sur une liste qui contient cinq nombres. On dira donc que cette boucle contient cinq itérations.

L'interpréteur Python va exécuter ce code de la façon suivante.

👉 On commence avec la première itération. Python va donc automatiquement assigner la première valeur de notre liste à la variable i qu'on va ensuite afficher avec la fonction print.

i sera donc égal à 0 et on affiche donc le nombre 0 à l'écran.

👉 L'interpréteur Python revient à la ligne du dessus, pour continuer avec la deuxième itération de la boucle, dans laquelle la variable i sera cette fois-ci égale à la deuxième valeur contenue dans la liste, dans ce cas-ci, le nombre 1. On rentre là encore une fois à l'intérieur de la boucle, et on exécute la fonction print pour afficher cette valeur à l'écran.

👉 On recommence encore une fois, avec la troisième itération, et i qui prend maintenant la valeur de 4.

👉 Quatrième itération, avec i qui est égal à 7.

👉 Et pour finir, on va avoir la cinquième et dernière itération avec i qui est égal à la dernière valeur contenue dans notre liste, donc dans ce cas-ci, le nombre 8. On passe une dernière fois sur la fonction print pour afficher cette valeur à l'écran, et vu qu'on est rendu à la dernière itération, on sort donc de la boucle for et on continue avec la suite de notre script.

Voilà comment fonctionne une boucle for pour l'interpréteur Python. Dans ce cas-ci, on a utilisé notre boucle pour passer à travers une liste.

Boucle for passant à travers une chaîne de caractères

En plus des listes, on peut également utiliser une boucle for pour passer à travers, par exemple, chaque caractère d'une chaîne de caractères.

for lettre in "Python":
    print(lettre)

Dans cet exemple, on utilise la boucle for pour passer à travers le mot "Python". La boucle for permet donc d'afficher toutes les lettres du mot "Python" les unes à la suite des autres, comme si on avait tout simplement utilisé six fois la fonction print.

Utilisation de la fonction range

Je vous ai dit au début de cette partie qu'on pouvait également utiliser les boucles pour répéter une opération un certain nombre de fois. C'est là que rentre en jeu la fonction range.

La fonction range nous permet de rapidement créer une liste de nombres de la taille qu'on lui indique.

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

En passant le nombre 10 à la fonction range, on se retrouve donc avec une liste qui contient dix nombres. On peut se servir de cette fonction à l'intérieur d'une boucle for pour répéter une opération un très grand nombre de fois.

for i in range(10000):
    print("Bonjour")

Avec cette boucle for, on affiche dix mille fois le mot "Bonjour" à l'écran. Vous êtes d'accord avec moi que si on avait dû créer à la main une liste de dix mille nombres, ça aurait été un peu long.

La fonction range nous permet donc de rapidement créer des listes gigantesques, dont on peut ensuite tirer profit pour répéter une opération avec la boucle for.

En résumé

Une boucle for permet de répéter une opération :

  • Un certain nombre de fois comme on l'a vu avec la fonction range

  • En parcourant une liste, ou en parcourant directement une structure de données, donc dans ce cas-ci, on va utiliser les valeurs à l'intérieur de notre structure de données, par exemple pour les afficher à l'écran, pour faire des calculs, pour faire des structures conditionnelles, pour parcourir une liste de fichiers pour trier tous les fichiers qui sont de type image, etc.

C'est principalement de cette façon qu'on va utiliser la boucle for.

Dans la prochaine partie, on va voir un autre type de boucle qui est assez similaire et qui permet généralement de faire la même chose, mais qui fonctionne un peu différemment : la boucle while.

00:00 : Dans cette partie, on va voir un autre concept fondamental de la programmation, qui est la clé de l'automatisation de processus qui peuvent être très longs pour l'être humain que nous sommes, mais très rapides à exécuter pour une machine.

00:11 : Ce concept, c'est le concept des boucles. Une boucle, ça sert principalement à deux choses. La première, c'est de pouvoir répéter une opération un certain nombre de fois. Jusqu'à présent, si on voulait exécuter une opération deux fois ou plus, on n'avait pas vraiment d'autre option que de dupliquer nos lignes de code.

00:28 : Avec les boucles, on va pouvoir exécuter une opération des milliers de fois, avec seulement quelques lignes de code. La deuxième utilité des boucles, c'est de pouvoir parcourir des structures de données, comme les listes par exemple. Ainsi, on va pouvoir passer à travers une liste de fichiers pour les trier et supprimer les fichiers trop volumineux.

00:45 : Donc c'est vraiment un exemple parmi tant d'autres, vous allez voir qu'une fois qu'on sait utiliser les boucles, on ne peut plus s'en passer. Tout d'abord, il faut savoir qu'en Python, il existe deux types de boucles, les boucles « for » et les boucles « while ».

00:57 : Dans cette partie, on va s'intéresser à la boucle « for ». La boucle « for », elle nous permet principalement de parcourir des structures de données. La syntaxe d'une boucle « for », elle est assez simple et elle ressemble à la syntaxe d'une structure conditionnelle.

01:11 : On retrouve les deux points « : » à la fin de la ligne et l'indentation sur la ligne suivante, qui indique un bloc d'instructions. On comprend donc, avec l'indentation, que le « print » appartient à la boucle. Pour définir une boucle, on utilise le mot « for » et le mot « in ».

01:26 : « for » ça signifie pour, et « in » ça signifie dans. Donc si on traduit cette boucle en français ça donne ça : pour element dans liste: « print(element) ». Cette boucle, elle va nous permettre donc de parcourir une structure de données, en l'occurrence ici une liste.

01:41 : "element" ici, c'est tout simplement une variable, qu'on peut donc appeler comme on veut, et qui va être affectée, à chaque itération de la boucle, à une valeur de notre liste. Donc pour que vous compreniez bien comment fonctionne une boucle, on va prendre un exemple plus concret d'une boucle qui passe à travers une liste de nombres.

01:58 : Vous voyez ici que j'ai changé le nom de ma variable et que je l'ai appelée "i". Donc c'est une convention que vous allez retrouver très souvent. Quand on boucle sur une liste de nombres, on utilise généralement comme nom de variable "i". Comme je vous l'ai dit il y a quelques instants, on pourrait appeler cette variable n'importe comment.

02:13 : On peut l'appeler "element", "i", ou même "jean_paul", dans tous les cas, ça va fonctionner. Mais c'est tout de même important de bien nommer vos variables, de suivre les conventions, pour que votre code reste compréhensible. Ce qu'il faut bien comprendre avec les boucles, c'est que Python va se charger tout seul d'assigner à "i" la valeur de l'itération courante.

02:31 : Une itération, c'est le fait de répéter un processus. Ici, on boucle sur une liste qui contient cinq nombres. On dira donc que cette boucle contient cinq itérations. Donc si on se met dans la tête de l'interpréteur Python, vous allez avoir un code qui va être exécuté de la façon suivante.

02:48 : On commence avec la première itération, Python va donc automatiquement assigner la première valeur de notre liste à la variable "i" qu'on va ensuite afficher avec la fonction « print ». "i" sera donc égal à 0 et on affiche donc le nombre 0 à l'écran.

03:02 : L'interpréteur Python revient à la ligne du dessus, pour continuer avec la deuxième itération de la boucle, dans laquelle la variable "i" sera cette fois-ci égale à la deuxième valeur contenue dans la liste. Donc, dans ce cas-ci, le nombre 1.

03:15 : On rentre là encore une fois à l'intérieur de la boucle, et on exécute la fonction « print » pour afficher cette valeur à l'écran. On recommence encore une fois, avec la troisième itération, et "i" qui prend maintenant la valeur de 4. Quatrième itération, avec "i" qui est égal à 7.

03:31 : Et pour finir, on va avoir la cinquième et dernière itération avec "i" qui est égal à la dernière valeur contenue dans notre liste, donc dans ce cas-ci le nombre 8. On passe une dernière fois sur la fonction « print » pour afficher cette valeur à l'écran, et vu qu'on est rendu à la dernière itération, on sort donc de la boucle « for » et on continue avec la suite de notre script.

03:51 : Voilà donc comment fonctionne une boucle « for » pour l'interpréteur Python. Donc, dans ce cas-ci, on a utilisé notre boucle pour passer à travers une liste. En plus des listes, on peut également utiliser une boucle « for » pour passer à travers, par exemple, chaque caractère d'une chaîne de caractères.

04:06 : Donc dans ce cas-ci, on utilise la boucle « for » pour passer à travers le mot "Python". La boucle « for », elle permet donc d'afficher toutes les lettres du mot "Python" les unes à la suite des autres, comme si on avait tout simplement utilisé six fois la fonction « print ».

04:19 : Je vous ai dit au début de cette partie qu'on pouvait également utiliser les boucles pour répéter une opération un certain nombre de fois. C'est là que rentre en jeu la fonction « range », qu'on a déjà vu ensemble dans une partie précédente.

04:30 : La fonction « range », elle nous permet de rapidement créer une liste de nombres de la taille qu'on lui indique. En passant le nombre 10 à la fonction « range », on se retrouve donc avec une liste qui contient dix nombres. Et donc cette fonction, on peut s'en servir à l'intérieur d'une boucle « for » pour répéter une opération un très grand nombre de fois.

04:47 : Avec cette boucle « for », on affiche dix mille fois le mot "Bonjour" à l'écran. Vous êtes d'accord avec moi que si on avait dû créer à la main une liste de dix mille nombres, ça aurait été un peu long. La fonction « range », elle nous permet donc de rapidement créer des listes vraiment gigantesques, dont on peut ensuite tirer profit pour répéter une opération avec la boucle « for ».

05:06 : Donc voilà pour la syntaxe et le fonctionnement de la boucle « for ». Donc pour résumer, une boucle « for » ça permet, soit de répéter une opération un certain nombre de fois comme on l'a vu par exemple, avec la fonction « range » en parcourant une liste, ou on peut aussi parcourir directement une structure de données, donc dans ce cas-ci, on va utiliser les valeurs à l'intérieur de notre structure de données, par exemple pour les afficher à l'écran, pour faire des calculs, pour faire des structures conditionnelles, donc comme l'exemple que je vous avais indiqué au début, par exemple pour parcourir une liste de fichiers, pour trier, par exemple, tous les fichiers qui sont de type image.

05:39 : Donc c'est de cette façon qu'on va principalement utiliser la boucle « for », et dans la prochaine partie, on va tout de suite voir un autre type de boucle qui est assez similaire et qui permet généralement de faire la même chose, mais qui fonctionne un peu différemment, et cette autre boucle, c'est la boucle « while ».

Préférences de lecture

Les changements sont sauvegardés automatiquement.

Lecture automatique

Passe automatiquement à la prochaine vidéo.

Sous-titres

Active automatiquement les sous-titres lorsqu'ils sont disponibles.

Effets sonores

Active les effets sonores pour marquer la progression dans le cours (0 = désactive les effets sonores).

Vitesse

La vitesse de lecture des vidéos.

Mes notes

Réservé aux membres abonnés

Inscris-toi

Pour pouvoir prendre des notes et ajouter des favoris tu dois être abonné à Docstring.

Voir les formules

Bravo, tu es prêt à passer à la suite 👏

Fête

Tu as complété % du parcours.

Mes notes

Sauvegardé

Passages surlignés

Besoin d'aide ?

Essaie d'être le plus exhaustif possible en donnant suffisamment de détails pour qu'on puisse te répondre du premier coup 😉

Tu souhaites nous remonter un bug ? Utilise-plutôt ce formulaire.

Cette fonctionnalité est réservée aux membres de la formule accompagnement de Docstring.

Aucun résultat.

Un problème sur le site ?

Aide-nous à améliorer Docstring en nous signalant un problème que tu as rencontré.

Que ce soit un bug sur une fonctionnalité ou une erreur dans une formation, on va pouvoir le corriger rapidement 😉

Page concernée

M'avertir par e-mail

Je veux être averti par e-mail lorsque ce bug est corrigé.