Les structures itératives
Les structures itératives permettent de répéter des instructions. Le langage Python en propose : for et while.
Comme pour les structures conditionnelles, l'en-tête se termine par deux-points (:), et l'indentation délimite le bloc d'instructions.
Parcourir des éléments avec for
En Python, la boucle for parcourt les éléments d'un objet itérable, comme une liste. Elle correspond alors à la boucle foreach en C#.
En C#, nous écrivons :
string[] names = { "Alice", "Bob", "Charlie" };
foreach (string name in names)
{
Console.WriteLine(name);
}
Voici l'équivalent en Python :
À chaque itération, la variable name référence l'élément suivant dans la liste.
Répéter un traitement avec range
La fonction range représente une séquence d'entiers. Elle permet de répéter un bloc d'instructions un nombre défini de fois.
En C#, nous écrivons :
Voici l'équivalent en Python :
Ces deux exemples affichent les nombres de 0 à 4. La borne de fin est exclue (valeur 5).
En python, il est possible de préciser une valeur de départ et un pas d'incrémentation :
Répéter un traitement avec while
La boucle while répète un bloc tant que sa condition est vraie. La condition est évaluée avant chaque itération : le bloc peut donc ne jamais être exécuté.
En C#, nous écrivons :
Voici l'équivalent en Python :
Python ne possède pas d'opérateur d'incrémentation ++. Pour incrémenter une variable de 1, on utilise += 1.
Contrôler l'exécution
Comme en C#, les instructions break et continue permettent de contrôler l'exécution d'un traitement itératif :
breakpermet de terminer immédiatement la boucle.continuepermet d'ignorer la suite de l'itération courante en passant à la suivante.
Voici l'équivalent en Python :
Ce bloc de code affiche les nombres 0, 1, 2, 4 et 5.
Concernant do ... while
Le langage Python ne possède pas de structure itérative do ... while. Pour exécuter un bloc au moins une fois, on peut utiliser while True avec une condition de sortie :