Boucles
Progression
#Boucles et contrôle
Les boucles constituent un mécanisme fondamental qui permet de répéter des actions et de parcourir des collections sans avoir à dupliquer du code. Python propose deux structures principales : la boucle for qui itère sur des séquences et la boucle while qui s'exécute tant qu'une condition reste vraie. Ces structures sont enrichies par des instructions de contrôle comme break et continue, ainsi que par des compréhensions de listes qui offrent une syntaxe concise pour construire des collections.
1for i in range(5):2 print(i)3 4i = 05while i < 3:6 print('i=', i)7 i += 1Le mot-clé break permet d'interrompre immédiatement une boucle, tandis que continue passe directement à l'itération suivante sans exécuter le reste du corps de la boucle. Python offre également une fonctionnalité unique avec la clause else associée aux boucles : le bloc else s'exécute uniquement si la boucle se termine normalement, sans avoir été interrompue par un break.
1for i in range(6):2 if i % 2 == 1:3 continue4 if i == 4:5 break6 print(i)#Playground
#Exercices
Ces exercices vous permettront de mettre en pratique les différentes formes de boucles et de contrôle de flux :
- Calculez la somme des nombres de 1 à N en utilisant la fonction
range. - Écrivez un programme qui compte le nombre de voyelles dans une chaîne de caractères.
- Générez la suite de Fibonacci jusqu'à ce que les valeurs dépassent 1000.
#Compréhensions et générateurs
Les compréhensions de listes, de dictionnaires et d'ensembles permettent de créer des collections de manière déclarative et lisible. Cette approche rend le code plus expressif en capturant l'intention de transformation directement dans la syntaxe. Les générateurs, quant à eux, utilisent le mot-clé yield pour produire des séquences paresseuses qui ne calculent leurs valeurs qu'à la demande, ce qui les rend particulièrement économes en mémoire pour le traitement de grandes quantités de données.
1squares = [x*x for x in range(10) if x%2==0]2def fib(n):3 a,b=0,14 while n>0:5 yield a6 a,b=b,a+b7 n-=1