PCSI – IPT G. Monod
Boucles_tests.docx
1/2
TP Python Boucles et tests
L’informatique est destinée au traitement automatisé de données. Ce traitement consiste donc en partie à effectuer le même travail
sur des données différentes. Ces tâches répétitives sont confiées à des boucles.
Python – Boucles for et while
Syntaxe
Scratch Syntaxe Python
L’indentation délimite les boucles
Noter les deux points Exemples
instruction
for k in sequence :
instruction
…
instruction
sequence : intervalle range, liste, chaîne…
Exemples de sequences :
for k in range(10) :
for c in 'azertyuiop':
for e in ['a', 3,[1,2]]:
Exemple de boucle:
s = 0 # Initialisation de la variable s
for k in range(10) : # 10 itérations
s += 2*k+1 # incrémentation de s
print(s) # en dehors de la boucle
instruction
while expression :
instruction
…
instruction
Exemples d’expression :
while k != 0 :
while i >=2 and i**2 < 100 :
while b: # Sous-entendu : b == True
while not b: # ⇔ while b == False:
while 1: # Boucle infinie !
Exemple de boucle
s = 0 # Initialisation de la variable s
k = 0 # Initialisation du compteur k !
while k < 10 : # 10 itérations
s += 2*k+1 # incrémentation de s
k += 1 # Incrémentation du compteur k !
print(s) # en dehors de la boucle
Choix du type de boucle
Le nombre d’itérations est connu ⇒ boucle for (boucle inconditionnelle).
Le nombre d’itérations est inconnu ⇒ boucle while (boucle conditionnelle).
Comparaison des boucles for et while
Boucle for Boucle while
Avantages
Simplicité (initialisation et incrémentation du
compteur automatiques).
Permet de balayer un intervalle, une liste ou une
chaîne pour appliquer un traitement à la totalité
des éléments du premier au dernier.
Permet d’effectuer une sélection ou un
traitement à partir d’un critère complexe (cf.
expression ci-dessus).
Inconvénients Certains traitements doivent s’interrompre dès
qu’une condition est satisfaite : préférer dans ce
cas la boucle while.
Ne pas oublier d’initialiser et d’incrémenter le
compteur.
Boucles imbriquées
Il est possible d’imbriquer les boucles mais plus le nombre de boucles imbriquées est grand plus le programme est lent (notion
de complexité : à venir…).