Les boucles en Python
Introduction
Python fournit deux manières d’exécuter les boucles. Bien que toutes les méthodes offrent des fonctionnalités de base similaires, leur syntaxe et leur temps de vérification des conditions diffèrent.
Boucle While
En python, la boucle while est utilisée pour exécuter un bloc d'instructions à plusieurs reprises jusqu'à ce qu'une condition donnée soit remplie. Et lorsque la condition devient fausse, la ligne immédiatement après la boucle dans le programme est exécutée.
Syntaxe
while condition/expression: instructions
Toutes les instructions indentées par le même nombre d'espaces de caractères et sont considérées comme faisant partie d'un seul bloc de code. Python utilise l'indentation comme méthode de regroupement des instructions.
Exemple
nb = 1 while nb <= 5: print(nb) nb += 1
1 2 3 4 5
Else
La boucle while exécute le bloc jusqu'à ce qu'une condition soit remplie. Lorsque la condition devient fausse, l'instruction immédiatement après la boucle est exécutée.
La clause else n'est exécutée que lorsque votre condition while devient false. Si vous sortez de la boucle ou si une exception est levée, elle ne sera pas exécutée.
Syntaxe
while condition/expression: exécuter ces instructions else: exécuter ces instructions
Exemple 1
nb = 1 while nb <= 5: print(nb) nb += 1 else: print("bye bye")
1 2 3 4 5 bye bye
Exemple 2
nb = 1 while nb <= 5: print(nb) nb += 1 break else: print("bye bye")
1
Boucle for in
la boucle for est utilisée pour les parcours séquentiels. Par exemple: parcourir une liste, une chaîne, un tableau, etc.
En Python, il n’existe pas de style for(i = 0; i < n; i++). Il existe une boucle «for in» similaire à foreach dans les autres langages de programmation.
Syntaxe
for iterateur in sequence: instructions
Exemple 1
L = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samed', 'Dimanche'] for jour in L: print(jour)
Lundi Mardi Mercredi Jeudi Vendredi Samed Dimanche
Exemple 2
L = ('Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samed', 'Dimanche') for jour in L: print(jour)
Lundi Mardi Mercredi Jeudi Vendredi Samed Dimanche
Exemple 3
D = {} D['nom'] = 'ESSADDOUKI' D['prenom'] = 'Mostafa' D['Annee'] = 2019 for cle in D: print(cle, ' : ', D[cle])
nom : ESSADDOUKI prenom : Mostafa Annee : 2019
Exemple 4
# range(fin) for i in range(5): print(i, end=" ") print() #range(debut, fin) for i in range(2, 5): print(i, end=" ") print() #range(debut, fin, pas) for i in range(1, 11, 2): print(i, end=" ") print()
0 1 2 3 4 2 3 4 1 3 5 7 9
Exemple 5
L = ('Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samed', 'Dimanche') for i in range(len(L)): print(L[i])
Lundi Mardi Mercredi Jeudi Vendredi Samed Dimanche
Exemple 6
msg = 'Bonjour' for lettre in msg: print(lettre) print('-------------') for i in range(len(msg)): print(i, ': ', msg[i])
B o n j o u r ------------- 0 : B 1 : o 2 : n 3 : j 4 : o 5 : u 6 : r
Else
le bloc else sera exécuté immédiatement après l'exécution du bloc. Si vous sortez de la boucle ou si une exception est levée, elle ne sera pas exécutée.
for i in range(5): print(i) else: print('bye bye') print('------------------') for i in range(5): if i == 2: break print(i) else: print('bye bye')
0 1 2 3 4 bye bye ------------------ 0 1
Boucles imbriquées
Python permet d’utiliser une boucle dans une autre boucle (boucles imbriquées).
Syntaxe
for iterateur1 in sequence1: for iterateur2 in sequence2: instructions
while condition1: while condition2: instructions
Exemple 1
for i in range(2): for j in range(3): print(i, ' - ', j)
0 - 0 0 - 1 0 - 2 1 - 0 1 - 1 1 - 2
Exemple 2
matrice = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] n = len(matrice) # nombre de lignes m = len(matrice[0]) # nombre de colonnes for i in range(n): # pour chaque ligne print("ligne ", i, " de la matrice : ", end=" ") for j in range(m):# parcourir les colonnes de la ligne i print(matrice[i][j], end=' ') print("")
ligne 0 de la matrice : 1 2 3 ligne 1 de la matrice : 4 5 6 ligne 2 de la matrice : 7 8 9 ligne 3 de la matrice : 10 11 12
Instructions de contrôle de boucle
Les instructions de contrôle de boucle modifient l'exécution normale de la séquence.
Instruction continue
Elle renvoie le contrôle au début de la boucle.
L = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samed', 'Dimanche'] print("voici les jours de la semaines sauf Jeudi et Vendredi") for i in range(len(L)): if i == 3 or i == 4: continue print(L[i], end=" ")
Voici les jours de la semaine sauf Jeudi et Vendredi Lundi Mardi Mercredi Samed Dimanche
Instruction break
Il termine la boucle courante et reprend l'exécution à la prochaine instruction après la boucle
L = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samed', 'Dimanche'] # quitter si le jour est jeudi for i in range(len(L)): if i == 3: break print(L[i], end=" ") print("\nIt's Done")
Lundi Mardi Mercredi It's Done
Instruction pass
Nous utilisons l'instruction pass pour écrire des boucles vides. pass est également utilisé pour des instructions de contrôle, les fonctions et les classes vides.
L = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samed', 'Dimanche'] for jour in L: pass print("le dernier jour de la semaine est ", jour)
le dernier jour de la semaine est Dimanche
class ClasseVide: pass