Les boucles sont fondamentales en programmation car elles permettent de répéter en boucle justement des parties de votre programme sans avoir besoin de les réécrire autant de fois que le programme est censé les exécuter.
Il y a deux types de boucles en Python : les boucles for
et while
.
for
énumère les éléments d'un ensemble et pour chaque élément, répète toujours le même code mais pour cet élément. Donnons un exemple informel :for objet in liste_courses :
trouver(objet)
mettre_dans_le_chariot(objet)
aller_payer()
if
... else
..., il ne faut pas oublier les ":" et 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é, je devrais pour chaque objet aller payer avant de passer à l'objet suivant...range(n)
: crée une liste de n nombres allant de 0 à n-1.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.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)>>>for i in range(3) :
>>> print(i)
0
1
2
>>>somme=0
>>>for i in range(4) :
>>> somme+= i
>>>print(somme)
6
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.>>>liste_courses = [ "stylos rouges" , "piles" , "souris pour la salle info" , "claviers" ]
>>>for objet in liste_courses :
>>> print( objet )
stylos rouges
piles
souris pour la salle info
claviers
>>>for lettre in "math" :
>>> print( lettre )
m
a
t
h
While
permet de boucler tant qu'une condition est vérifiée. Exemples :>>>i = 0
>>>while i < 4 :
>>> print(i)
>>> i+=1
>>>while ma_note_en_maths <20 :
>>> je_bosse_mes_maths()
while
sont exactement les mêmes que pour if.break
: Permet d’arrêter une boucle. C'est pratique quand une condition est réalisée d’arrêter la boucle avant sa fin.while distance_parcourue < 42.195 :
courir()
if cheville_foulée :
break
continue
: Permet de passer directement à la boucle suivante sans finir celle-ci.while distance_parcourue < 42.195 :
if point_de_côté :
continue
courir()
else
: Après une boucle for
, on peut placer un else
qui n'a pas la même signification que pour un if
.else
ne sera exécuté que si la boucle for
s'est terminée normalement (c'est à dire pas par un break
). Par exemple si on cherche quelque chose grâce à une boucle for
, dès qu'on l'a trouvé, on peut s’arrêter (avec un break
) mais si on finit la boucle sans la trouver, il est indispensable d'utiliser else
pour exécuter ce que l'on veut dans ce cas car sinon il serait exécuté dans tous les cas (trouvé ou pas).for element in botte_de_foin
if element=="aiguille":
print("Trouvé !" )
break
else:
print("Pas trouvé")