Langage Python

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, 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

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
Remarque ! sequence ça peux être Range, List, Tuple, Dictionnaire, une chaine de caractères ou un fichier
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  
Remarque ! nous pouvons placer n'importe quel type de boucle à l'intérieur de tout autre type de boucle. Par exemple, une boucle for peut être à l'intérieur d'une boucle while ou vice versa.

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

Partager ce cours avec tes amis :
Rédigé par Mostafa Sedoki
Computer science teacher and the founder of the e-learning platform "developpement-informatique.com", my mission is to provide high-quality courses for free to all computer science students and teachers

Cours Similaires :