Seb-Info

Python ( Troisième partie )

Python ( Troisième partie )

Python ( Troisième partie )

Les boucles

Si les conditions ( partie 2 ) permettent de prendre des chemins différents. Les boucles vont permettre de répéter une ou des actions un certain nombre de fois.

Les boucles bornées

Une boucle permet de répéter une ou plusieurs instructions.

Lorsque l’on connaît le nombre de répétitions, on utilise une boucle bornée.

L’instruction Python correspondant à une boucle bornée est « for indice in range() » :
  • « in range() » permet d’énumérer le nombre de passages dans la boucle bornée ;
  • l’indice i de la boucle prend les valeurs entières de 0 à n – 1, donc n valeurs.
Exemple :
Compte à rebours du déclencheur d’un appareil photo, la boucle s’effectuera 5 fois et l’indice i prend les valeurs entières de 0 à 4.

[pastacode lang= »python » manual= »for%20i%20in%20range(5)%3A%0A%09print(5-i) » message= »Exemple de boucle avec for » highlight= » » provider= »manual »/]

Il est possible de préciser la première et la dernière valeur de l’indice dans la boucle en définissant des bornes.

Lorsque l’indice ne doit pas varier de 1 en 1, on peut également modifier le nombre de pas qui sépare un indice du suivant.

Exemple :
On cherche à afficher une ligne sur deux d’un tableau de la 10e ligne à la 19e ligne.
Voici le programme qui donne les numéros de lignes à afficher.

[pastacode lang= »python » manual= »for%20i%20in%20range(10%2C20%2C2)%3A%0A%09print(i) » message= »Exemple de boucle for avec un pas de 2″ highlight= » » provider= »manual »/]

Les boucles non bornées

Lorsque le nombre de répétitions n’est pas connu à l’avance, on utilise une boucle non bornée. Elle permet de répéter un bloc d’instructions tant qu’une condition est vérifiée.

La structure correspondant à une boucle non bornée est « while condition : ».
Si la condition est toujours réalisée, la boucle se répétera indéfiniment. Il est donc important de vérifier que la condition cesse d’être vraie à terme afin que la boucle se termine.
Exemple: Sur le programme ci-dessous la boucle est infinie car la condition a==1 sera toujours vraie.

[pastacode lang= »python » manual= »a%3D1%20%20%0Awhile%20a%3D%3D1%3A%0A%09print(%22Bonjour%22) » message= »Boucle infinie » highlight= » » provider= »manual »/]

Le nombre de passages dans une boucle non bornée étant inconnu au départ, il peut être nécessaire de créer une variable comptant le nombre de tours. Elle peut indiquer à partir de quand une condition n’est plus vérifiée.
Une variable servant de compteur permet de compter le nombre de passages dans la boucle dans une boucle non bornée.
Exemple :
Programme qui donne le nombre d’années pour que la consommation d’Internet atteigne 6000 TWh/an. Celle-ci est multipliée par 1,2 tous les ans. La variable « années » sert de compteur.

[pastacode lang= »python » manual= »consommation%3D1500%0Aannees%3D0%0Awhile%20consommation%3C6000%3A%0A%09consommation%3Dconsommation*1.2%0A%09annees%3Dannees%2Bl%0Aprint(annees) » message= » » highlight= » » provider= »manual »/]

Remarques :

  • la variable annees est incrémenté de 1 dans la boucle : annees = annees+1 ce qui va permettre d’arriver à la condition d’arrêt (sinon on aurait une boucle infinie)
  • print(annees) ne fait pas parti du bloc de répétition et est exécuté à la sortie de la boucle.

Exercices

Explications :

 

Exercice 1 :

Correction

Exercice 2

Correction

Ce contenu est réservé aux membres du site. Si vous êtes un utilisateur existant, veuillez vous connecter. Les nouveaux utilisateurs peuvent s'inscrire ci-dessous.

Connexion pour les utilisateurs enregistrés
   
Nouvel utilisateur ?
*Champ requis
Powered by WP-Members