Python Parcours Complet Integral [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Programmation Python : Parcours complet Pr Mamadou BOUSSO Maitre de conférence en Informatique UIDT / UFR SES M. Mansour DIOUF Doctorant en Informatique ED2DS – UIDT

PARTIE 1 Introduction à l’algorithmique en Python

Introduction à l’algorithmique

Instructions Séquentielles

Structures Conditionnelles

Structures Itératives 01/02/2021

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

2

• Avez-vous déjà ouvert et utilisé un livre de recettes de cuisine ? • Avez vous déjà déchiffré un mode d’emploi traduit directement du chinois pour faire marcher un téléphone ? Si oui, sans le savoir, vous avez déjà exécuté des algorithmes. • Plus fort : avez-vous déjà indiqué un chemin à un touriste égaré ? • Avez vous fait chercher un objet à quelqu’un par téléphone ? Si oui, vous avez déjà fabriqué – et fait exécuter – des algorithmes. Comme quoi, l’algorithmique n’est pas un savoir ésotérique réservé à quelques rares initiés touchés par la grâce divine, mais une aptitude partagée par la totalité de l’humanité. Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

3

NOTION D’ALGORITHME ET FORMALISME DÉFINITION § Un algorithme est une suite d’instruction qui permet de

résoudre un problème en un nombre fini d’étapes ;

§ Art de décomposer un problème en une suite

d’instructions simples pouvant être exécutées par un ordinateur ;

§ Suite finie de règles à appliquer dans un ordre déterminé

a un nombre fini de données pour arriver en un nombre fini d’étapes, a un certain résultat (Encyclopeadia Univ.)

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

4

Le terme Algorithme Vient du mathématicien arabe Muhammmad ibn Musa alKharezmi

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

5

NOTION D’ALGORITHME ET FORMALISME EXEMPLES D’ALGORITHMES §Itinéraire de voyage §Préparer un repas §Gestion de la file d’attente §Allocation de ressource §Etablir un plan Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

6

§ Un nombre fini d’étapes; § Un nombre fini d’opérations par étape; § Une suite d’opérations primitives; § Fournit un résultat (décidabilité) Chaque opération est : • Non ambiguë • Effective Indépendant : • Du langage de programmation dans lequel il est traduit • De l’ordinateur sur lequel le programme doit être exécuté Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

7

Historiquement, deux façons pour représenter un algorithme : v L’organigramme : Représentation graphique avec des symboles (carrés, losanges, etc.) § Offre une vue d’ensemble de l’algorithme ; § Représentation quasiment abandonnée aujourd’hui. v Le pseudo-code : Représentation textuelle avec une série de conventions § Plus pratique pour écrire un algorithme ; § Représentation largement utilisée ; Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

8

Initialisation (Entrées) – Repérer les données nécessaires à la résolution du problème. Les données sont dans l’énoncé du problème ou fournies par l’utilisateur Ex: Liste des ingrédients pour une recette de cuisine. • Traitement (Méthode) – Déterminer les étapes élémentaires (instructions) pour aboutir au résultat attendus Ex: Mélanger les ingrédients, cuire pour une recette • Restituer le résultat (Sortie) Ex: présenter le plat cuisiné

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

9

Algorithme : Calcul du prix TTC d’un produit acheté Initialisation : - Prendre connaissance du prix unitaire et du nombre d’article acheté - Prendre connaissance du taux de TVA Traitement : - Multiplier le prix unitaire avec le nombre d’article pour connaitre le prix hors taxe - Ensuite multiplier le prix hors taxe avec le taux de la TVA - Additionner les deux valeurs retrouvées Restituer le résultat : - Afficher la valeur de la somme effectuée dans le traitement Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

10

Un algorithme doit être compréhensible et lisible par plusieurs personnes. Il doit donc suivre des règles. Un algorithme est composé d’une en-tête et d’un corps L’en-tête contient : • Le nom de l’algorithme • La déclaration de tous les objets locaux à l’algorithme Le corps contient : • Le mot clé début • Une suite d’instructions • Le mot clé fin Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

11

• Un programme est la description d’un algorithme avec un langage accepté par la machine (ordinateur) ; • Un algorithme, à l’inverse d’un programme, est indépendant du langage de programmation (et donc de ce machine).

ALGORITHME

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

PROGRAMME

01/02/2021

12

Spécification algorithmique

Problème Algorithme

Traduction

Programme

Exécution

Résultats

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

13

• Analyse et définition des besoins : Ce que le programme devra réaliser comme tâche. L’analyse et la spécification du problème se fera dans un « langage naturel » • Spécification du programme : Définir spécifiquement chaque fonctionnalité du programme. • Conception : Décomposition du programme en sous problème (définition des modules du programme) ainsi que le développement des algorithmes nécessaires au fonctionnement du programme. • Programmation : Traduction des algorithmes dans le langage de programmation choisi pour la réalisation du programme. On parle d’implémentation. • Tests et validation : Phase durant laquelle le bon fonctionnement, ainsi que la conformité du programme aux spécifications sont vérifiés. • Maintenance : Activité qui assure l’entretien et le bon fonctionnement du programme tant et aussi longtemps qu’il sera utilisé. Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

14

ORDINATEUR

HARD WARE

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

SOFT WARE

01/02/2021

15

• Construit autour d’un ensemble de circuits électroniques (le courant passe, le courant ne passe pas) ; • Traite donc que des signaux assimilables à 0 ou 1 ; • Une opération élémentaire → suite de 0 et de 1 = suite de bits (BInary digiT) ; • Un champ de 8 bits constituant ce qu'on appelle 1 octet ; • Pour que les programmes et les données soient compréhensibles par l’ordinateur il faut effectuer un codage binaire ;

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

16

• Constitué de 0 et de 1 • Directement exécutable par la machine • Non portable : Chaque famille de processeur possède son langage • Ne manipule que des registres de taille fixée (64 bits en général) • Ne permet d’effectuer que des opérations élémentaires (accès mémoire, additions, soustractions, etc.) Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

17

L'ENIAC (acronyme de l'expression anglaise Electronic Numerical Integrator And Computer) est en 1945 le premier ordinateur entièrement électronique construit pour être Turing-complet. Il peut être reprogrammé pour résoudre, en principe, tous les problèmes calculatoires.

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

18

MACBOOK 2006

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

ENIAC 1945

01/02/2021

19

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

20

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

21

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

22

1. Unité de commande et de contrôle : Conduit le calcul (ordre des instructions) voulu par le programmeur 2. Unité Arithmétique et logique : Exécute les opérations arithmétiques et logiques (+-*/ et ou …) d’un programme sous le contrôle de l’unité de Commande 3. Mémoire Centrale : Permet de stocker et de restituer des informations • Correspond à un ensemble fini de cellules • Une case mémoire (cellule) contient une donnée ou une instruction • Chaque cellule est numérotée : adresse • Le processeur peut y accéder à n’importe quel moment en lecture (consultation) ou en écriture (modification)

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

23

Périphériques : Echangent avec l’environnement externe (utilisateur) Nous avons les périphériques de communication et de mémorisation Périphérique de communication • 4. Entrées : Clavier, Souris, Scanner, Web Cam, Micro • 5. Sorties : Ecran, Haut Parleur, Imprimante, Périphérique de mémorisation Disque Dur, Disquette (ancêtre de la clé USB et de la carte mémoire), CDROM...

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

24

Ordre compréhensible par l’ordinateur

Composants d’un ordinateur :

• Déclaration d’emplacement mémoire

• MP : Mémoire Centrale

• Calcul et Comparaison

• UAL : Unité Arithmético - Logique

• Lecture

• PE : Périphérique d’Entrée

• Ecriture

• PS : Périphérique de Sortie

• Tests

• UCC : Unité de Commande et de Controle

• Boucles (Répétitions)

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

25

§ Pour être compris et exécuté par un ordinateur, un algorithme doit être traduit dans un langage spécifique, qu’on appelle langage de programmation ; § On obtient ainsi ce qu’on appelle un programme informatique qui contient l’ensemble des actions consécutives que l’ordinateur doit exécuter ; § Ces actions sont appelées instructions ;

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

26

Langage assembleur – Langage symbolique textuel d’un peu plus haut niveau, – Lisible par un humain! – Non portable – La traduction en langage machine se fait via un assembleur • Exemple de programme assembleur affichant "Hello World!" sous Windows : ORG 100h MOV AH, 09h MOV DX, message INT 21h RET message db "Hello World !", '$ Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

27

Langage de haut niveau – Permettent de comprendre plus facilement le code écrit – Portables (abstraction des caractéristiques du matériel) – Manipulent des concepts plus élaborés (variables, tableaux, fonctions) Plusieurs paradigmes (logique de fonctionnement) : • La programmation impérative : Décrit les opérations en séquences d'instructions exécutées par l'ordinateur pour modifier l'état du programme (la plupart des langages sont impératifs). • La programmation objet : Consiste en la définition et l'interaction de briques logicielles appelées objets regroupant les données et les traitements qui sont liés. • La programmation fonctionnelle déclarative : Considère le calcul en tant qu'évaluation de fonctions mathématiques Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

28

Langage de haut niveau – Exemple de programme affichant "Hello World!" en Langage C #include int main() { printf("Hello World!\n"); return 0; } – Exemple de programme affichant "Hello World!" en Python 3.x print("Hello World!") Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

29

Compilation • Traduction du source en langage objet. • Elle comprend au moins quatre phases (trois phases d’analyse : lexicale, syntaxique et sémantique puis une phase de production de code objet). • Pour générer le langage machine, il faut encore une phase particulière : l’édition de liens. • Elle est contraignante mais offre au final une grande vitesse d’exécution.

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

30

Interprétation • Chaque ligne du source analysé est traduite au fur et à mesure en instructions directement exécutées. • Technique très souple mais les codes générés sont peu performants.

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

31

Interprétation du bytecode compilé (Mixte) • Compromis entre facilité de développement et rapidité d’exécution ; • Le bytecode (forme intermédiaire) est portable sur tout ordinateur muni de la machine virtuelle du langage.

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

32

• Crée en 1989 aux Pays-Bas par Guido Van Rossum • Syntaxe simple (Typage Dynamique, Indentation significative, gestion automatique de la mémoire) permettant de passer de l’algorithme au programme • Portable sur tous les systèmes d’exploitation : Windows, Linux, Macintosh • Langage open source • Disponibilité de plusieurs milliers de bibliothèques • Deux modes d’utilisation : - script (écriture du programme dans un fichier) - interactif (similaire à une calculatrice) • Langage interprété rapide • Permet de mettre en œuvre les trois paradigmes (impérative, objet et fonctionnel) Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

33

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

34

Préambule

Variable et Constante

Instructions Séquentielles

Expression, Affectation et Calcul

Lecture

Ecriture 01/02/2021

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

35

KARIM POSSÈDE 3 SEAUX : •

UN SEAU EN PLASTIQUE D’UNE CONTENANCE DE 10 LITRES,



UN SEAU EN BOIS D’UNE CONTENANCE DE 7 LITRES



UN SEAU EN FER D’UNE CONTENANCE DE 9 LITRES 10H00 : KARIM VIDE SES 3 SEAUX 10H05 : KARIM VA RENDRE VISITE A DEMBA, CELUI-CI MET 6 LITRES DANS LE SEAU EN BOIS DE KARIM 10H10 : KARIM TRANSVERSE LE CONTENU DE SON SEAU EN BOIS DANS LE SEAU EN FER 10H15 : KARIM REVIENT VERS OUMAR REMPLIR À RAS BORD SON SEAU EN PLASTIQUE 10H20 : KARIM DÉVERSE LA MOITIÉ DE SON SEAU EN PLASTIQUE À L’ÉGOUT 10H25 : KARIM TRANSVASE LE CONTENU DE SON SEAU EN PLASTIQUE DANS CELUI EN BOIS 10H30 : KARIM TRANSVASE 2 LITRES DE SON SEAU EN BOIS DANS CELUI EN FER 10H35 : KARIM INFORME HABIB DU NOMBRE DE LITRES CONTENU DANS SES SEAUX EN PLASTIQUE, EN BOIS, EN FER. QUELLES SONT LES QUANTITÉS DES TROIS SEAUX QUE HABIB REÇUES ?

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

36

PLASTIQUE (10L)

0L

0L

0L

0L

10L

5L

0L

0L

BOIS (7L)

3L

0L

6L

0L

0L

0L

5L

3L

FER (9L)

8L

0L

10h00 Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

0L

10h05

6L

10h10

6L

10h15

6L

10h20

6L

10h25

8L

10h30 01/02/2021

37

Définition : C’est un emplacement mémoire dont la valeur peut changer au cours de l’exécution d’un programme. • Une variable possède un nom, on parle d'identifiant ; • Une variable possède une valeur ; • Une variable possède un type qui caractérise l'ensemble des valeurs que peut prendre la variable. Formalisme de déclaration d’une variable en algorithme :

VARIABLE nom_de_la_variable : type_de_la_variable

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

38

On peut faire l'analogie avec notre énigme précédente : • Les seaux seraient les variables ; • Le contenu d’un sceau serait la valeur de la variable correspondante ; • La matière du sceau serait le type de la variable (plastique, verre, fer)

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

39

Choix des identificateurs Le choix des noms de variables est soumis à quelques règles qui varient selon le langage, mais en général : l Un nom doit commencer par une lettre alphabétique Exemple valide : A1 Exemple invalide : 1A l Doit être constitué uniquement de lettres, de chiffres et du soulignement _ (Eviter les caractères de ponctuation et les espaces) Valides : msda2020, msda_2020 Invalides : msda 2020, msda-2020, msda;2020 l Doit être différent des mots réservés du langage (par exemple en Python : int, float, else, def, for, if , while, return, …)

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

40

Définition du type Le type d’une variable détermine l’ensemble des valeurs qu’elle peut prendre. Il y a deux grandes catégories de type : • Les types simples ; • Les types composés.

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

41

Définition du type l Type numérique (entier ou réel) l Byte (codé sur 1octet): de 0 à 255 l Entier court (codé sur 2 octets) : -32 768 à 32 767 l Entier long (codé sur 4 ou 8 octets) l Réel simple précision (codé sur 4 octets) l Réel double précision (codé sur 8 octets) l Type logique ou booléen : Deux valeurs VRAI ou FAUX l Type caractère : lettres majuscules, minuscules, chiffres, symboles, … Exemples: ’A’, ’a’, ’1’, ’?’, … l Type chaîne de caractères : Toute suite de caractères, Exemples: " Nom, Prénom", "code postale: 1000", …

Attention : La définition de type n’est pas obligatoire pour tous les langages. Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

42

Définition : C’est un objet qui ne possède pas d’emplacement mémoire réservé. l

Sa valeur est directement placé dans le code du programme ;

l

Elle ne peut pas voir sa valeur modifiée.

Exemple : Constante PI = 3,14 l

La constante a un typage dynamique Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

43

Python permet de manipuler toutes sortes de données : l l l l

Entiers : 0, -12, 3569 Flottants : 0.232, 3.1415, -12.0 Booléens : True, False (vrai, faux) Chaines de caractères : ”Bonjour les amis”

Python étant un langage de programmation interprété donc la déclaration de variable n’est pas nécessaire. Il suffit juste d’écrire l’identifiant de la variable puis de lui fournir une valeur ensuite Python se chargera de calculer le type et de l’attribuer à la variable. Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

44

Les mots reserves et regle de nomination:

Regle de nomination d'une variable: - Snake Case pour les noms de fonctions et de variables: number_of_college_grad uates - Pascal Case pour les noms de classes: NumberOfColle geGraduates Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

45

Exemple :

type(identifiant_variable) permet de retourner le type d’une variable.

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

46

Les types de base : les entiers (int) § Permet de représenter n’importe quel entier positif ou négatif § On utilise l’écriture en base du 10 du nombre avec un signe optionnel

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

47

La fonction standard int() § Permet de convertir n’importe quelle valeur compatible vers l’entier correspondant

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

48

Les types de base : les réels (float) §

Permet de représenter une partie des nombres à virgule ;

§

La séparation entre partie entière et partie décimale se fait avec un point ;

§

On peut également utiliser l’écriture scientifique avec un E ou un e suivi d’une puissance de 10.

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

49

La fonction standard float() : §

Permet de convertir n’importe quelle valeur compatible vers le nombre réel correspondant.

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

50

Les types de base : les booléens (bool) • Permet de représenter les valeurs logiques VRAI et FAUX • Deux mots réserves en python : True et False • N’importe qu’elle donnée en Python possède une valeur logique : – les valeurs non nulles valent True – les valeurs vides ou nulles valent False

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

51

Les types de base : les chaines de caractères (str) § Permet de représenter les textes ; § Les valeurs littérales sont entourées : par des apostrophes (’), des guillemets (”) ou bien des triples quottes (’’’ ou ”””)

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

52

La fonction standard str() : § Permet de convertir la plupart des valeurs dans leur représentation en texte.

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

53

En Python, les chaines de caractères sont dits immutables (une fois constituée en mémoire, elles ne sont plus modifiables) Les opérations de modification sur les chaînes produisent donc de nouvelles chaînes.

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

54

l

Un opérateur est un symbole d'opération qui permet d'agir sur des variables ou de faire des calculs ;

l

Une opérande est une entité (variable, constante ou expression) utilisée par un opérateur ;

l

Une expression est une combinaison d'opérateur(s) et d'opérande(s), elle est évaluée durant l'exécution de l'algorithme, et possède une valeur (son interprétation) et un type. Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

55

Par exemple dans a + b : • a est l'opérande gauche • + est l'opérateur • b est l'opérande droite • a + b est appelé une expression • Lorsque a vaut 4 et 5 vaut 3, l'expression a + b vaut 9 • Lorsque a et b sont des entiers, l'expression a + b est un entier Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

56

L'évaluation de l'expression fournit une valeur qui est le résultat de l'opération ; Les opérateurs dépendent du type de l'opération, ils peuvent être : §

des opérateurs arithmétiques : +, -, *, /, % (modulo), ^ (puissance)

§

des opérateurs logiques : NON, OU, ET

§

des opérateurs relationnels : = , != , < , > , =

§

des opérateurs sur les chaînes : & (concaténation)

Une expression est évaluée de gauche à droite mais en tenant compte de priorités

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

57

Pour les opérateurs arithmétiques donnés ci-dessus, l'ordre de priorité est le suivant (du plus prioritaire au moins prioritaire) : ^ : (élévation à la puissance) * , / (multiplication, division) % (modulo) + , - (addition, soustraction) Exemple : 4 + 3 * 5 vaut 19 En cas de besoin (ou de doute), on utilise les parenthèses pour indiquer les opérations à effectuer en priorité (ou en premier) Exemple : (2 + 3) * 7 vaut 35 Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

58

Nous avons les opérateurs relationnels suivants : – Égalité (= ou ==) – Inégalité ( ou !=) – Supérieur (>) – Supérieur ou égal (>=) – Inférieur ( 10 : Ecrire « passable » Note > 12 : Ecrire « assez bien » Note > 14 : Ecrire « bien » Note > 16 : Ecrire « très bien » Sinon : Ecrire « ajourné » Fin_selon_que Fin_algo Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

96

Bloc if : Lorsque la condition logique est vérifiée, le bloc d’instructions (instruction1 et instruction2) est exécuté. Si la condition n’est pas vérifiée le bloc n’est pas exécuté et on passe aux instructions après le if.

N = int(input("Entrer la valeur de N ")) if N>0: print(f"Le nombre {N} est positif")

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

97

Bloc if...else : Spécifie un second bloc d’instructions qui est exécuté lorsque la condition du if n’est pas vérifiée

N = int(input("Entrer la valeur de N ")) if N>0: print(f"Le nombre {N} est positif") else: print(f"Le nombre {N} est négatif ou nul")

Python, UIDT / SES / MSDA / M. BOUSSO - M. DIOUF

01/02/2021

98

Bloc if...elif...else : Spécifie des conditions ou des choix multiples avec une batterie de tests.

N = int(input("Entrer if N>0: print(f"Le nombre elif Nfin: return False else: # Diviser m = (debut+fin)//2 if tableau[m]==elm_a_trouver: return True else: # Régner if elm_a_trouver