cours python gratuit -INSTRUCTIONS CONDITIONNELLES : While

×

Recommandés

C’est le cours python numéro 8 de la série des cours d’initiation à python.

LES CYCLES


L’une des caractéristiques d’un ordinateur est la rapidité et la précision dans l’exécution d’actions répétitives : ce qui ennuierait à mort un être humain, le conduirait à perdre sa concentration et à commettre des erreurs, est fait sans sourciller par un ordinateur, qui peut répéter un bloc de milliards d’instructions. de fois sans se fatiguer. Dans les langages de programmation, il y a toujours des instructions pour obtenir des boucles (en anglais : loops).

Une boucle est un bloc d’instructions (toujours reconnu par Python grâce à l’indentation) qui peut être répété plusieurs fois.

Le contrôle du nombre de répétitions d’une boucle sera pris en charge par une instruction de contrôle de flux dédiée, qui déterminera quand la boucle doit être quittée (c’est-à-dire continuer avec les instructions suivantes). Si nous commettons une erreur dans cette instruction, nous pouvons entrer dans une boucle sans fin (en anglais : « endless loop ») c’est-à-dire une boucle qui se répète indéfiniment : c’est une erreur de programmation courante qui provoque généralement le « crash » du programme. Si cela nous arrive en Python, nous pouvons appuyer simultanément sur Control C pour terminer le programme « par force brute ».

L’instruction

L’instruction While

NOUVEAU PROGRAMME : test_while.py

Ouvrez l’éditeur et tapez ce nouvel exemple (vous pouvez omettre les commentaires, qui ne servent qu’à expliquer ce que fait le programme) :

s = "" # chaîne vide : utilisée pour initialiser la variable s
while s! = "mom": # while avec l'expression de contrôle
     s = input ("Type 'mom'") # c'est le bloc à répéter
print ("Bravo!") # Quittez la boucle ici

Essayez d’exécuter le programme, qui vous demandera d’écrire « maman ». Tapez un autre mot deux ou trois fois et vous verrez que le programme vous demandera toujours la même chose. Ce n’est que lorsque vous écrivez exactement « maman » (avec toutes les lettres minuscules) que le programme vous dira « Bravo ! »

L’instruction while permet de répéter un bloc de lignes tant qu’une condition de contrôle (expression booléenne) reste vraie. Lorsque le programme atteint le while, il évalue l’expression : si elle est vraie, elle entre dans la boucle (c’est-à-dire dans une série de lignes indentées comme dans le if) ; à la fin de l’indentation, il revient au while et réévalue l’expression : si elle est toujours vraie, il réexécute la boucle et ainsi de suite. Lorsque l’expression devient fausse, le programme quitte la boucle et continue avec la première ligne au même niveau d’indentation que le while.

Ainsi, le programme fonctionne comme ceci : nous affectons d’abord la chaîne vide à s. Dans la deuxième ligne, le while demande s’il est différent de « mom »: puisque c’est vrai, le programme entre dans la boucle (c’est-à-dire la troisième ligne indentée). Ceci est répété tant que s est différent de « mom », et n’est terminé que lorsque la condition de contrôle devient fausse (c’est-à-dire lorsque s devient égal à « mom »).

Essayez de supprimer la première ligne : que se passe-t-il ? Vous obtiendrez une NameError car dans l’expression s!= « Mom » Python trouve la variable s non encore définie (rappelez-vous ceci). Essayez plutôt de remplacer la première ligne par celle-ci
s = « maman »:
maintenant, à la place, le programme écrira directement « Bravo! » : en fait, le premier while trouve l’expression booléenne s! = « mom » fausse et n’entre pas du tout dans la boucle.

Avant d’entrer dans une boucle while il faut que les variables apparaissant dans la condition de contrôle soient déjà définies (sinon vous obtenez une erreur). Si la condition est fausse à l’entrée du cycle, le cycle est complètement sauté.

NOUVEAU PROGRAMME : response.py

Le while et le if nous permettent déjà de programmer un jeu simple. Pour l’instant, essayez de ne pas utiliser de copier-coller : il est communément admis qu’écrire les lignes une à une facilite la compréhension du programme ; éventuellement, vous pouvez sauter les commentaires.

de l'importation aléatoire * # sera expliqué plus tard
graine () # idem

num = randrange (1, 21) # cette instruction génère un nombre aléatoire de 1 à 20 : il va falloir le deviner
print ("J'ai pensé à un nombre de 1 à 20. Essayez de le deviner!")
my_num = -1 # initialise my_num à une valeur bien différente de num ...
while my_num! = num: # ... donc la première fois il entre définitivement dans le while
     my_num = int (input ("???")) # ici nous introduisons notre tentative (my_num)
     si mon_num <num :
         print ("Trop bas")
     elif mon_num>num :
         impression ("Trop haut")
imprimer ("Vous l'avez deviné !")

Essayez d’exécuter le programme et de deviner le nombre ; puis essayez de comprendre quelle est la fonction de chaque ligne. Ce programme peut servir de base à d’autres développements :

VARIABLES DU COMPTEUR


Parfois, nous savons exactement avant la boucle combien de fois nous devrons l’exécuter (par exemple, si nous devons imprimer 10 lignes de texte, …). Dans ces cas on utilise généralement une autre instruction, le pour, mais à des fins didactiques on utilisera une construction équivalente qui nous facilitera alors la compréhension de l’autre instruction.

Une variable de compteur est initialisée (généralement à 0) avant la boucle et est incrémentée à chaque exécution de la boucle. La condition de vérification entraîne l’exécution de la boucle jusqu’à ce que la variable atteigne la valeur souhaitée.

Voyons un exemple :

NOUVEAU PROGRAMME : tables de multiplication.py

Commençons par un programme qui imprime les chiffres de 0 à 9.

i = 0 # initialise le compteur
pendant que je <10 :
     imprimer (je)
     i + = 1 # incrémente le compteur (c'est-à-dire : i = i + 1)

Le while est répété exactement 10 fois : i commence à 0 et est incrémenté de 1 à chaque fois ; il sera quitté lorsque i deviendra 10 (c’est-à-dire que i <10 sera faux). Dans l’usage courant, si on doit répéter une boucle 100 fois, le compteur ira de 0 à 99, et donc la condition de vérification sera tant que i <100 : cette tradition vient du langage C.

Modifions temporairement le programme comme ceci et lançons-le :

i = 0
while i < 100:
    print("J'AIME JULIETTE")
    i += 1

Revenons maintenant à notre programme et voyons les exercices.

Recommandés

La Revue de Marché Marketing : Modèle...
Cet article explore les éléments clés...
En savoir plus
Tableau de Bord de Veille Concurrentielle dans...
Voici un guide pour la création...
En savoir plus
QCM de culture professionnelle en marketing :...
Les questionnaires à choix multiples (QCM)...
En savoir plus
Maîtriser les Sauts de Ligne en PHP...
Sauter des lignes en PHP est...
En savoir plus
Le Tableau Budget de Trésorerie : Modèle...
Télécharger un modèle tableau budget de...
En savoir plus
Tutoriel Excel : modèles et exemples...
Dans ce tutoriel Excel nous vous...
En savoir plus
AZ

Recent Posts

Méthode des points de vue narratifs en 4ème

Introduction En classe de 4ème, l’étude du récit occupe une place importante dans l’apprentissage du…

12 heures ago

Classification des Documents : Organiser et Automatiser la Gestion Documentaire

Dans toute organisation moderne — entreprise, association, service administratif ou bureau de projet — la…

3 jours ago

Modèle de Bilan Actif Passif sur Excel : Concevoir un tableau comptable clair et automatisé

Dans la pratique comptable, le bilan constitue l’un des documents les plus fondamentaux pour comprendre…

3 jours ago

Fiche Méthode analyse linéaire + guide complet pour la réussir

L’analyse linéaire impressionne souvent plus qu’elle ne le devrait. Au moment d’aborder l’oral du bac…

3 jours ago

Analyse linéaire au bac français : méthode complète, exemples et conseils pour réussir l’oral

L’analyse linéaire occupe une place centrale à l’oral du bac français. C’est l’exercice qui permet…

4 jours ago

Créer une fiche de suivi en ligne : générateur personnalisable à imprimer

Créer une fiche de suivi claire et adaptée à son activité prend souvent plus de…

4 jours ago

This website uses cookies.