LE LANGAGE PYTHON Enseignante : Leïla HAMMAMI EL FEKIH Contact : hammamif.laila
LE LANGAGE PYTHON Enseignante : Leïla HAMMAMI EL FEKIH Contact : hammamif.laila@yahoo.com Année universitaire 2020/2021 Module : Informatique Classes: 1èreS années MP – PC –T CONTRÔLE CONTRÔLE DU FLUX DU FLUX D’ INSTRUCTIONS D’ INSTRUCTIONS hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 2LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Rappel d’un programme Python Les Structures Conditionnelles Les Expressions Conditionnelles Les Structures Itératives Conditionnelles Non conditionnelles Gestion des erreurs Plan Plan hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 3LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Un programme Python est composé d'instructions. Une instruction, simple ou composée, est un ordre unitaire donné à l‟interpréteur : Instruction simple : print(„Bonjour‟) ; x=20 Instruction composée ou bloc d‟instructions : structure if, boucles for ou while, fonctions définies par def, etc. Une Instruction composée est formée d'une : ligne d‟entête se terminant obligatoirement par «:» qui signifie l‟ouverture d‟un nouveau bloc après retour à la ligne Il n’y a pas de début et de fin de bloc explicites en python, comme begin ou end suite d'instructions automatiquement indentées (alignées sur une même tabulation) appelée encore bloc d'instructions. L‟indentation ? décalage à droite d‟un même nombre d‟espaces (ou tabulation). Programme Python (1) hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 4LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN La fin d‟un bloc de niveau n (retour au bloc de niveau n-1) est obtenue par un “effacement arrière” après retour à la ligne. Les instructions sont séparées dans un programme par: un point-virgule « ; » si plusieurs instructions sur une même ligne un retour à la ligne si une instruction par ligne. Ce qui suit le « # » est un commentaire jusqu'à la fin de la ligne. L'interpréteur Python analyse les lignes du script une à une : si la ligne est une instruction simple (ou une séquence d‟instructions simples séparées par des « ; »), alors il l'analyse, l'exécute et passe à la ligne d‟après. si la ligne est une ligne d‟entête d‟une instruction de contrôle (bloc), alors l‟analyse et l‟exécution s‟applique aux instructions du bloc indenté. Une fois le bloc exécuté, l'analyse et l'exécution reprennent à l‟instruction qui suit la ligne d‟entête du bloc, en appliquant le même principe, et ainsi de suite jusqu‟à arriver à la fin du programme. Programme Python (2) hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 5LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN L‟exécution d‟un programme Python se déroule comme suit. L'interpréteur Python commence par analyser les lignes du script une à une : si la ligne est une instruction simple (ou une séquence d‟instructions simples séparées par des « ; »), alors il l'analyse, l'exécute et passe à la ligne d‟après. si la ligne est une ligne d‟entête d‟une instruction de contrôle (bloc), alors l‟analyse et l‟exécution s‟applique aux instructions du bloc indenté. Une fois le bloc exécuté, l'analyse et l'exécution reprennent à l‟instruction qui suit la ligne d‟entête du bloc, en appliquant le même principe, et ainsi de suite jusqu‟à arriver à la fin du programme. Exécution d'un Programme Python hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 6LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Structure Conditionnelle : Mots Réservés # Si # Sinon # Sinon Si Opérateur d'appartenance in dans un itérable Opérateur d'appartenance in dans un itérable hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 7LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Syntaxe Structure conditionnelle (1) if condition1 : instruction 11 … instruction 1p elif condition2 : instruction 21 … instruction 2q … elif conditionn-1: instruction n-1 else: instruction n Syntaxe générale : True False True False False True hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 8LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Syntaxe Structure conditionnelle (2) Syntaxe sans elif/else: if condition : instruction 1 … instruction n Syntaxe avec else: if condition : instruction 11 … instruction 1p else: instruction 21 … instruction 2n L‟en-tête du bloc (if, elif, else) se termine par « : ». Les elif (else if) et le else sont optionnels. Les instructions peuvent à leurs tours être des structures conditionnelles. Exemple : if a%2 == 0 : print ('a={} est pair'.format(a)) if a%3 == 0 : print(' et est multiple de 3') else : print ('et non multiple de3') else : print ('a={} impair'.format(a)) hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 9LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Syntaxe Structure conditionnelle (3) Syntaxe avec elif/else: if condition1 : instructions 1 elif condition2 : instructions 2 … elif condition n-1: instructions n-1 else: instructions n Attention à l’indentation !!! toutes les instructions d‟un même bloc doivent être indentées exactement au même niveau. L‟irrespect de l‟indentation génère une erreur. Les valeurs considérées comme False pour la condition sont : – évidemment la valeur False, – la constante None, – toute valeur numérique égale à 0 (0, 0.0, 0j), – les chaînes, listes, tuples, ensembles et dictionnaires vides. hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 10LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Syntaxe Structure conditionnelle (4) Une condition est une expression logique qui peut contenir : des opérateurs relationnels (==, !=, <, <=, >, >=); Exemple: if x==0: if x : # if x != 0 : if a != "" : # if a : l‟opérateur unaire not. Exemple: if not a : # donne True si a est False et donne False sinon une combinaison d'opérateurs relationnels et d'opérateurs logiques (and, or, not, …). Exemple : if x>y and y>=z: # ou encore if x>y>=z : l‟opérateur in. Exemple : if 't„ in "toto": print ('ok') hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 11LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Structure Conditionnelle Structure Conditionnelle Application ( Application (1) Ecrire un programme Python qui : saisit trois entiers a, b et c, résout dans l‟ensemble C l‟équation du second degré ax2+bx+c= 0 On discutera tous les cas possibles pour a, b et c. hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 12LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Travail à faire Structure Conditionnelle Structure Conditionnelle Application Application (2) (2) hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 13LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Python offre la possibilité de former des expressions dont l‟évaluation est soumise à une condition et dont la syntaxe est: Le résultat est l‟évaluation de expression1 si la condition est vraie, et celle de expression2 sinon. Cette construction ne permet pas l‟utilisation du mot réservé elif mais on peut emboîter deux expressions conditionnelles. Expressions Conditionnelles (1) Expressions Conditionnelles (1) Expression_1 if condition else Expression_2 Expression_1 if condition1 else Expression_2 if condition2 else Expression_3 hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 14LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Récrire l'exemple suivant avec une expression conditionnelle si c'est possible, et justifiez votre réponse dans le cas contraire en proposant éventuellement une solution : Application :Expressions Application :Expressions Conditionnelles ( Conditionnelles (3) if a%2 == 0 : print ('a={} est pair'.format(a)) if a%3 == 0 : print(' et est multiple de 3') else : print ('et non multiple de3') else : print ('a={} impair'.format(a)) hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 15LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Travail à faire Application :Expressions Application :Expressions Conditionnelles ( Conditionnelles (3) hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 16LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Structure Itérative/Répétitive Conditionnelle Boucle while (Tantque et Repeter en algorithmique) Structure Itérative/Répétitive NON Conditionnelle Boucle for avec un index numérique entier (Pour en algorithmique) utilisation de la fonction range (…) pour définir un intervalle donné Boucles for pour parcourir un objet itérable. Structure Structure Répétitive/Itérative Répétitive/Itérative hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 17LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Structure Répétitive/Itérative Structure Répétitive/Itérative Mots réservés Mots réservés Boucles for while continue break else in boucle non conditionnelle boucle conditionnelle interruption de l’itération et passage à l’itération suivante sans poursuivre l'exécution des instructions qui suivent continue (si elles existent) sortie de boucle traitement associé exécuté lorsque : - condition d'exécution avec while non vérifiée - épuisement de l'itérable avec for à condition de ne pas quitter la boucle avec break dans un itérable hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 18LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Syntaxe générale Boucle conditionnelle : while (1) Initialisation while else Initialisation while condition : bloc_instructions_Si_condition_Vraie else : bloc_instructions_Si_condition_Fausse Si condition fausse dès le départ, le bloc bloc qui suit l‟instruction d‟en-tête while n‟est jamais exécuté. Le bloc qui suit l‟instruction d‟en-tête while agit sur la condition, True au départ, de sorte qu'elle devienne False à une itération donnée et provoque la sortie de la boucle. le bloc qui suit else est exécuté lorsque la boucle while se termine (condition devient (ou est) fausse) à condition que la boucle ne soit pas interrompue par l'instruction break. hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - Dia 19LEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEINLEILA HAMMAMILEILA HAMMAMI@IPEIN@IPEIN Syntaxe générale Boucle conditionnelle : while (2) On peut écrire une clause while avec une condition toujours vraie (while 1 : ou while True:) à condition de sortir par un autre moyen, comme break ou return, pour éviter une boucle infinie Boucle de Contrôle de Saisie en est un exemple. Exemple: Exécution du script hammamif.laila@yahoo.com - CONTRÔLE DU FLUX D’EXÉCUTION - uploads/Management/ controle-de-flux-20-21-vn-etud.pdf
Documents similaires
-
17
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 22, 2021
- Catégorie Management
- Langue French
- Taille du fichier 2.9370MB