Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Présentation des boucles for
La boucle for
énumère les éléments d'un ensemble et pour chaque élément, répète toujours le même code en fonction de cet élément. Donnons un exemple :
for objet in liste_courses :
trouver(objet)
mettre_dans_le_chariot(objet)
aller_payer()
Détaillons un peu. Pour chaque objet dans ma liste de courses, je fais toujours la même chose : je le trouve puis je le mets dans le chariot. C'est ça que fait ma boucle for
. Quand il n'y a plus d'objet dans ma liste de course, je vais payer.
Attention au fait que, comme pour le if... else...
, il ne faut pas oublier les ":" en fin de ligne et, de plus, ce qui doit être fait en boucle doit être indenté. Et le aller_payer
n'est pas indenté car je ne paye qu'à la fin. S'il était indenté, cela signifierait que pour chaque objet j'irais payer avant de passer à l'objet suivant...
Passons à des exemples plus informatiques.
Nous allons nous intéresser principalement à l'énumération de nombres car c'est de loin la plus utile au début. Pour créer une liste de nombres, on utilise la fonction range
.
range(n)
: crée une liste de n nombres allant de 0 à n-1.
Et oui en informatique, il va falloir prendre l'habitude de toujours commencer à 0 et du coup finir à n-1 si on veut n nombres en tout.range(n1,n2)
: crée une liste de nombres allant de n1 à n2-1.range(n1,n2,pas)
: crée une liste de nombres allant de n1 à n2-1 en sautant de pas en pas.
Par exemple :
range(4)
est la suite de nombres 0 1 2 3range(3,6)
est la suite de nombres 3 4 5range(1,9,3)
est la suite de nombres 1 4 7 (de 3 en 3 en partant de 1)range(3,0,-1)
est la suite 3 2 1 (un pas négatif permet de compter à l'envers ce qui est très pratique des fois)
Passons à des exemples d'utilisation :
>>> for i in range(3) :
>>> print(i)
0
1
2
>>> somme=0
>>> for i in range(4) :
>>> somme+= i
>>> print(somme)
6
Détaillons cet exemple :
Pour i allant de 0 jusqu'à 3 (c'est à dire range(4)),
je demande à chaque fois somme+=i ce qui veut dire que je rajoute à somme la valeur i.
Finalement, j'affiche le résultat qui n'est autre que 0+1+2+3.
Entrainement
Exercice 1
On a recopié ci-dessous le programme de l'exemple précédent. Modifier ce programme pour qu'il affiche la somme des entiers de 3 à 172 c'est à dire 3 + 4 + 5 + ... + 171 + 172.
Exercice 2
On a recopié de nouveau ci-dessous le programme de l'exemple précédent. Modifier ce programme pour qu'il affiche la somme des carrés des entiers de 5 à 123 c'est à dire 5² + 6² + 7² + ... + 122² + 123².
Exercice 3
En s'inspirant des programmes précédents, créez un programme qui affiche, pour chaque entier entre 0 et 100, la somme du nombre et de son carré. Autrement dit, il doit afficher :
0
2
6
12
20
...
10100