8.1 Boucle for
Pouvoir exécuter un groupe de commandes sous une certaine condition, c'est super. Mais que faire si je veux exécuter une action 100 fois ? Comment faire ?
Pour cela, en Python, nous avons des boucles. Et pour notre cas, la boucle for est parfaite. La structure générale de l'instruction for est la suivante :
for variable in liste_de_valeurs:
commande1
commande1
commandeN
Où liste_de_valeurs est un ensemble quelconque de valeurs : liste, chaîne, dictionnaire (nous en parlerons plus tard).
Variable prend successivement les valeurs de liste_de_valeurs, et pour chacune d'elles, le bloc de commandes est exécuté.
Exemple :
| Exemple | Explication |
|---|---|
|
1. La variable fruit reçoit la valeur "apple" et la commande print(fruit) est exécutée 2. La variable fruit reçoit la valeur "banana" et la commande print(fruit) est exécutée 3. La variable fruit reçoit la valeur "cherry" et la commande print(fruit) est exécutée |
Voici comment fonctionne la boucle :
Si dans la liste après le mot in il y a 10 valeurs, alors le bloc de commandes s'exécutera 10 fois.
Pour chaque valeur de liste_de_valeurs, deux choses se produisent :
- La variable de la boucle (qui est indiquée après le mot
for) reçoit la prochaine valeur de liste_de_valeurs. - Ensuite, le bloc de commandes est exécuté.
Autre exemple :
| Exemple | Explication |
|---|---|
|
La boucle affichera les nombres : 1 2 3 4 5 6 7 8 9 10 |
8.2 Définir une plage — range
Dans le dernier exemple, vous avez pu voir que c'est très simple d'afficher 10 nombres. Mais que se passe-t-il si nous voulons faire une boucle 100 fois ? Ou même 1000 ?
Bien sûr, il y a une solution pour cela. En Python, nous avons la fonction range() pour générer une séquence de nombres, ce qui en combinaison avec la boucle for en fait un outil puissant pour gérer les tâches répétitives.
La fonction range() peut être utilisée de plusieurs façons, en fonction du nombre d'arguments transmis.
Les bases de l'utilisation range() :
Un argument : range(n) génère une séquence de 0 à n-1. C'est utile quand il faut faire une action un certain nombre de fois.
for i in range(5):
print(i) # Affiche les nombres de 0 à 4
Deux arguments : range(start, stop) génère une séquence de start à stop-1. C'est utile pour démarrer l'itération à partir d'un certain nombre.
for i in range(1, 6):
print(i) # Affiche les nombres de 1 à 5
Trois arguments : range(start, stop, step) ajoute un troisième argument step, qui détermine le pas entre les nombres dans la séquence.
for i in range(0, 10, 2):
print(i) # Affiche les nombres pairs de 0 à 8
Boucles inversées : range() peut générer des nombres dans l'ordre inverse, ce qui permet de faire des itérations inversées.
for i in range(10, 0, -1):
print(i) # Affiche les nombres de 10 à 1
La fonction range() combinée avec la boucle for fournit un outil flexible pour contrôler les itérations en Python. Comprendre ses capacités aide à créer des boucles plus efficaces et compréhensibles, qui sont une partie intégrante de tout programme.
8.3 Boucle sur une liste
Si vous voulez exécuter un groupe d'actions sur différentes valeurs, la fonction range() ne vous convient pas toujours, vous pouvez toujours combiner ces valeurs dans une liste en utilisant des crochets. La structure générale de cette opération est la suivante :
for variable in [val1, val2, …, valN]:
commande1
commande1
commandeN
Vous listez simplement les valeurs séparées par des virgules, et la boucle s'exécutera pour chacune d'elles, la variable prenant successivement chaque valeur. Exemple :
| Exemple | Explication |
|---|---|
|
La boucle affichera les chaînes : apple banana cherry |
Vous pouvez indiquer des nombres dans la liste directement dans la boucle après le mot in :
| Exemple | Explication |
|---|---|
|
La boucle affichera les nombres : 0.99 2.75 0.25 |
Dans la liste, vous pouvez énumérer des objets de tout type :
| Exemple | Explication |
|---|---|
|
La boucle affichera les chaînes : 0.99 apple -1 True |
GO TO FULL VERSION