Académique Documents
Professionnel Documents
Culture Documents
2eme partie
Après avoir découvert l’univers des logiciels greffés au noyau du langage Python, après avoir écrit et exécuté vos premières
inscructions, après avoir appris à stocker, à modifier ou à utiliser de l’information en mémoire à l’aide de variables, après
avoir écrit vos premiers programme à l’aide des instructions conditionnelles, vous allez apprends dans cette leçon les
boucles. Vous serez alors prêts à écrire du code capable de résoudre la majorité des problèmatiques !
OBJECTIFS de ce cours
Les commentaires en Python commencent par le symbole # lorsque si l’on veut en écrire sur une seule ligne.
Exemple :
Les commentaires en Python commencent par les 3 symboles « « « lorsque si l’on veut en écrire sur plusieurs
lignes. On ferme les lignes de commentaires à l’aide de la même suite de symboles « « «
Exemple :
"""
date: septembre 2019
Auteur: Toto l informaticien
"""
1
LES BOUCLES
1/ Les instructions répétitives ou boucles FOR
Lorsque l’on veut répéter une instruction ou un bloc de plusieurs instructions, on utilise une boucle.
Pour l’instant, nous nous limiterons aux boucles dont on connaît le nombre de répétions à l’avance : les
instructions répétitives ou boucles FINIES « for » :
Pour écrire un programme qui permet d’écrire tous les chiffres entre 0 et 9, on peut suivre la méthode suivante :
2
2/ Les boucles conditionnelles ou boucles WHILE ou boucle TANT QUE
Qu’est-ce ?
Il s’agit de boucles FINIES dont on ne connaît pas le nombre de répétition d’actions.
La séquence d’instructions (actions) incluse dans la boucle va s’exécuter n fois jusqu’à ce qu’une condition (un
test) de sortie indique à l’ordinateur de sortir de la boucle.
ATTENTION, par défaut, la boucle se poursuit TANT QUE la condition de sortie est VRAIE (c’est un booléen !)
En langage naturel (encore appelé PSEUDO-CODE), toute boucle While s’écrit ainsi,
Tant que TEST vrai
Faire les Instruction(s)
Evidemment c’est le cas à éviter à tout prix, en tant que programmeur, sinon l’ordinateur va répéter SANS arrêt
les actions prévus par la boucle. On dit que la boucle n’a pas de TERMINAISON. L’ordinateur ne fait plus que
çà. Bref, il faut arrêter le programme par un moyen ou un autre :
3
➢ Débrancher l’ordinateur (pas recommandé du tout)
➢ Arrêter l’éxécution du prgramme grâce à une fonction de l’IDE : c’est mieux
➢ Prévoir dans le programme que lorsque le cas se présente, l’ordinateur arrête la boucle et indique à
l’utilisateur qu’il n’arrive pas à s’en sortir, du fait d’une boucle infinie ! On appelle cela dans le jargon
informatique, la gestion des INTERRUPTIONS. C’est le mieux mais un peu complexe à notre niveau de
première.
Remarque 1 :
On écrit bien « while test », et non « while test == True » qui est un pléonasme informatique ! Voir
le cours sur les booléens.
Remarque 2:
Trop de programmateurs utilisent l’instruction break pour sortir d’une boucle While ou For ou même d’un if !
Cette instruction est à éviter autant que possible, pour des raisons de bonnes pratiques de programmation. Vous
serez considérer comme un mauvais programmateur. En effet, elle rend les programmes moins lisibles, et surout,
elle est source d’erreurs difficiles à corriger. A vous de trouver un autre algorithme qui résoud le problème sans
« break ».
Au lycée, elle vous est même interdite d’usage. Vous devez néanmoins savoir qu’elle existe.
EXERCICES D’ENTRAINEMENT
Ex 1. Ecrire un programme qui lit une valeur et affiche sa table de multiplication (on se limitera aux 12 premiers
termes)
Faire une variante du programme précédent qui affiche la table de multiplication de tous les chiffres compris
entre 2 et 9 (inclus).
Remarque : Pensez à laisser un espace entre deux tables de multiplication (print() imprime une ligne
vide).
Ex 2. Écrire un programme qui affiche un triangle rempli d'étoiles (*) sur un nombre de lignes
donné passé en paramètre, exemple : *
• 1ère version : à l’aide de deux boucles for, en imprimant les * une par une. On remarquera **
que, par défaut dans l’instruction « print », figure end = ‘\n’, qui fait passer à la ligne. ***
print(…, end =’’) ne fera donc pas passer à la ligne. De même, end = ‘ lol ‘ vous fera ****
passer pour utilisateur standard de facebook *****
• 2ème version : avec une seul boucle for, et une chaîne de caractères où vous accumulerez ******
*******
des étoiles (pour ceux qui vont un peu plus vite, print(« machin » end= ‘’) évite de
********
passer à la ligne.
Ex 3. Ecrire un programme qui est capable de calculer la moyenne d’un coureur à pied. Le programme
demandera au préalable le nom, le prénom et l’âge du coureur. Il lui demandera aussi la durée de sa course
(en heure,minutes,secondes) et la distance parcourue (en km). La vitesse moyenne de sa course s’affichera
alors en km/h et en m/s.
Le programme demandera si l’on veut refaire un calcul de moyenne jusqu’à ce que l’on veuille arrêter.