Support interactif de la séance

Notebook associé

Le notebook constitue le support principal de cette séance. Il permet de lire les explications, modifier le code et exécuter les cellules pas à pas.

Première utilisation d’un notebook ?
Consultez le mode d’emploi Jupyter.

Répéter sans recopier

Nous savons désormais écrire des instructions qui dépendent d’une condition.

Mais que se passe-t-il si un même traitement doit être exécuté plusieurs fois ?

Écrire plusieurs fois la même instruction fonctionne, mais devient rapidement long et difficile à modifier.

Le problème à résoudre

Question de départ. Comment demander à un programme de répéter plusieurs fois le même traitement sans recopier les mêmes instructions ?

Lorsque le nombre de répétitions est connu

Dans certaines situations, nous savons à l’avance combien de fois un traitement doit être exécuté.

Par exemple :

  • afficher un message 10 fois ;
  • effectuer 5 tentatives ;
  • produire une suite de valeurs ;
  • répéter un calcul un nombre fixé de fois.

Python permet de décrire ce type de répétition avec une boucle for.

Produire les valeurs nécessaires à la boucle

Une boucle for peut parcourir une suite de valeurs.

Pour produire une suite d’entiers, Python fournit notamment la fonction :

range()

Nous verrons comment choisir :

  • la borne de fin ;
  • la borne de départ ;
  • le pas entre deux valeurs.

Une valeur différente à chaque tour

À chaque passage dans une boucle, une variable peut recevoir une nouvelle valeur.

Cette variable permet par exemple d’afficher le numéro du tour ou d’utiliser la valeur courante dans un calcul.

Le notebook permettra d’observer précisément son évolution.

Application : Deviner un nombre

Dans la version précédente de Deviner un nombre, le joueur ne disposait que d’une seule tentative.

Nous allons maintenant lui accorder plusieurs essais.

Le nombre de tentatives sera fixé à l’avance : la boucle for permettra donc de répéter le même traitement plusieurs fois.

Votre mission

Dans le notebook, vous allez progressivement apprendre à :

  • écrire une boucle for ;
  • comprendre ce que produit range() ;
  • utiliser plusieurs formes de range() ;
  • exploiter la variable de boucle ;
  • modifier Deviner un nombre pour autoriser plusieurs tentatives.

Et si le traitement devait s’arrêter plus tôt ?

Une boucle for effectue les répétitions prévues.

Dans Deviner un nombre, cela signifie que le programme peut continuer à proposer des tentatives même si le nombre a déjà été trouvé.

Comment répéter un traitement tant qu’une condition est vraie ?

À retenir

  • Une boucle permet de répéter un bloc d’instructions.
  • for est adapté lorsqu’on connaît le nombre de répétitions ou les valeurs à parcourir.
  • range() permet de produire une suite d’entiers.
  • La variable de boucle prend successivement les valeurs parcourues.