Apprendre Python - Structures conditionnelles (if elif else)

Dans cette leçon vidéo en français, l’instructeur explique les structures conditionnelles du langage Python, en détaillant les mots‑clés if, else et elif ainsi que leur syntaxe (deux‑points, indentation). Il commence par un exemple simple de division où il faut vérifier que le diviseur n’est pas nul, montre comment écrire le test booléen, créer le bloc d’instructions et gérer le cas contraire avec else. Il décrit ensuite les problèmes d’imbrication lorsqu’on enchaîne plusieurs if‑else et introduit le mot‑clé elif comme moyen de réduire les niveaux d’indentation et d’améliorer la lisibilité. Un second exemple, le feu de signalisation (rouge, vert, orange), illustre la gestion de trois cas et la validation d’une entrée invalide. Tout au long de la vidéo, l’accent est mis sur l’importance de l’indentation cohérente, des blocs d’instructions, et des bonnes pratiques de codage pour éviter les erreurs d’interpréteur. La leçon se conclut en rappelant que les structures conditionnelles seront largement réutilisées dans les leçons futures.
Chapters
Bonjour à tous et bienvenue dans cette nouvelle leçon sur le langage de programmation Python. Aujourd'hui nous allons voir les structures conditionnelles. Dans un programme informatique, il se peut que l'on soit face à une situation où on doit exécuter un traitement et ignorer un autre. À titre d'exemple, si on veut effectuer la division de 2 nombres entrés par l'utilisateur, il faut d'abord s'assurer que le diviseur fourni n'est pas nul. Si tel est le cas, alors on peut effectuer la division. Sinon, c'est-à-dire si le diviseur est nul, alors l'opération ne peut pas être faite et on peut par exemple afficher une notification pour informer l'utilisateur que l'opération n'est pas faisable. Donc, vous comprenez qu'au sein de ce programme, 2 cas sont envisageables: soit on fait l'opération et on affiche le résultat, soit l'opération n'est pas faisable et on affiche une notification. Ce qui signifie que si un traitement est fait, alors l'autre est ignoré. Afin de mener un tel traitement, on fait appel aux structures conditionnelles ou conditions. Les conditions font partie de la famille des structures de contrôle. En gros, une structure de contrôle peut être soit une structure conditionnelle ou une structure itérative, appelée aussi boucle. Nous allons traiter les structures itératives dans la prochaine leçon. Reprenons l'exemple de la division de 2 nombres. On suppose que notre programme demande à l'utilisateur d'entrer 2 nombres A et B. On exécute donc ces 2 instructions. N'oublie pas de convertir le type de ces valeurs saisies par l'utilisateur en nombre, comme on l'a vu dans la vidéo consacrée aux entrées/sorties. Je vais opter pour le type Real. Maintenant, il est temps de vérifier si B n'est pas nul afin d'exécuter la division. On utilise le mot-clé If suivi de la condition à vérifier. Dans ce cas, je vais vérifier si B est différent de 0. N'utilisons l'opérateur point d'exclamation égal qui signifie différent et que j'ai évoqué dans la leçon consacrée aux opérateurs. Je rappelle que ce test renvoie un résultat booléen, donc soit True si b n'est pas nul ou False si b est nul. Notez que l'on peut placer notre condition entre parenthèses, mais c'est facultatif. Les parenthèses sont plutôt requises si nous avons affaire à plusieurs conditions à vérifier en même temps. Ensuite, on met deux points. Les deux points que l'on place devant les conditions ainsi que les autres structures que l'on traitera prochainement sont typiques au langage Python. Maintenant, nous allons écrire les instructions qui vont s'exécuter si la condition est vraie, c'est-à-dire si b n'est pas nul. Pour cela, on retourne à la ligne puis on place une indentation avant d'écrire quoi que ce soit. Je rappelle que Python est un langage indenté, c'est-à-dire qu'il prend en compte les espaces placés au début de chaque instruction. Donc, le fait de mettre une indentation là où il ne faut pas génère une erreur. Notez qu'une indentation peut être un simple espace ou une suite d'espaces. Mais il est courant d'opter pour la tabulation qui insère généralement 4 espaces d'un seul coup. D'ailleurs, quand l'interpréteur détecte 2 points, il place automatiquement une indentation dans la ligne suivante. Ce qu'il faut retenir c'est qu'il faut indenter toutes les instructions qui vont s'exécuter si la condition est satisfaite. On utilise souvent le terme bloc d'instructions pour désigner les instructions qui dépendent d'une condition. Encore une chose, les instructions qui constituent le même bloc doivent être indentées au même niveau. C'est-à-dire, si on utilise une tabulation pour la première instruction, alors on doit utiliser la même tabulation pour les autres instructions du bloc. Donc, si B n'est pas nul, nous allons par exemple prévoir une variable C qui accueillera le résultat de la division de A par B, puis on l'affiche. Bien entendu, on peut afficher directement le résultat de la division sans avoir besoin de la variable C. Maintenant, si l'utilisateur saisit la valeur 0 pour B, alors la condition énoncée n'est pas vraie, ce qui signifie qu'aucun traitement ne sera fait. Justement, pour prévoir un traitement alternatif si B est nul, alors nous allons faire appel au mot-clé Else qui veut dire Sinon. Autrement dit, si la condition énoncée n'est pas vraie, ce qui signifie que B qui a été saisi est bel et bien nul. N'oubliez pas de placer Else au même niveau que If, donc sans indentation. On place encore 2 points après Else puis on retourne à la ligne et on spécifie l'indentation pour exprimer le bloc d'instructions qui sera exécuté si B est nul. Dans ce cas, on va juste afficher le message le diviseur ne peut pas être nul. Comme je l'ai expliqué dans mon cours d'algorithmique, on pourrait à la place de else énoncer une condition indépendante qui vérifie si b est nul comme ceci. Et on obtiendra exactement le même résultat. Donc pas la peine de pousser l'interpréteur à vérifier une condition que l'on connaît déjà. Donc l'utilisation de else est fortement recommandée au cas où la condition admet 2 cas. Encore une chose, on peut changer la condition et commencer par vérifier si B est nul. Dans ce cas, il faut permuter les blocs d'instructions pour se conformer avec la logique du programme. Imaginez qu'on est face à une situation qui admet plus de 2 cas. À titre d'exemple, nous allons simuler le comportement d'un conducteur face à un feu de signalisation. On sait qu'il y a 3 cas: feu rouge, donc le conducteur doit s'arrêter. Feu vert, le conducteur circule normalement. Feu orange, si le conducteur est loin du feu, alors il doit ralentir pour s'arrêter, et s'il est sur le point de dépasser le feu, alors il peut continuer à rouler. Dans un premier temps, nous allons simplifier le cas où le feu passe à l'orange, et on supposera que le conducteur doit ralentir doucement puis s'arrêter. Nous allons supposer que la couleur du feu est représentée par la variable couleur, que l'on doit renseigner parmi les 3 valeurs suivantes: R pour rouge, V pour vert et O pour orange. Nous commençons donc par spécifier la couleur. Notez qu'on n'a pas besoin de convertir le type car il s'agit là d'une chaîne de caractères. Ensuite, nous allons énoncer la première condition qui consiste à vérifier si le feu est rouge. Encore une fois, vous pouvez commencer par vérifier n'importe quelle couleur, il faut juste adapter votre traitement selon la condition énoncée. On met donc: If la variable couleur est égale à R, Je rappelle que double égal signifie un test d'égalité. Il faut placer la valeur R entre les simples quotes ou les doubles quotes, car il s'agit d'un type chaîne de caractères. On retourne à la ligne, l'interpréteur insère automatiquement une indentation car il a détecté les deux-points. Ensuite, on affiche le message Arrêtez-vous. On met else pour dire sinon, ce qui signifie que le feu ne peut être que vert ou orange. Donc, on doit vérifier la couleur exacte. Dans ce cas, on doit encore faire appel à if et la condition à vérifier est couleur= V. Remarquez encore une indentation supplémentaire afin de désigner le bloc d'instructions qui dépend de cette dernière condition. Dans ce cas, le traitement à faire c'est afficher le message Circulez. Maintenant, au même niveau que le dernier if déclaré, nous allons encore mettre Else, ce qui signifie que le feu n'est pas vert. Ce qui ne nous laisse qu'un seul et unique choix, c'est le feu orange. Alors même pas la peine de vérifier la valeur de la variable couleur, car on sait que ce n'est pas rouge ni vert, ce qui veut dire qu'elle est orange. Figurez-vous que pour cet exemple, nous avons supposé que l'utilisateur ne peut saisir que R, V ou O, car s'il saisit autre chose, alors notre logique ne tiendra plus. Mais ne vous inquiétez pas, nous allons traiter ce cas aussi plus loin dans cette vidéo. Donc, après ce dernier Else, nous allons afficher le message Ralentissez doucement puis arrêtez-vous. Notre programme fonctionne bien, mais sa structure semble un peu trop imbriquée. En programmation, une imbrication consiste à placer un bloc dans un autre. Dans notre exemple, nous avons placé la condition qui vérifie si le feu est vert dans le bloc Else de la condition qui vérifie si le feu est rouge. Il s'agit en fait d'une pratique très courante, mais on peut faire mieux. En effet, on peut faire appel au mot-clé Elif, qui est un assemblage de Else et If en même temps. Elif permet de tester la condition courante si la condition précédente n'est pas satisfaite. Il permet également d'éviter les imbrications, donc de minimiser les indentations. Dans l'exemple, nous allons remplacer le else et le if qui le suit par elif, ce qui signifie: si le feu n'est pas rouge, alors on vérifie s'il est vert. Au passage, on réaligne l'indentation suivante pour une meilleure lisibilité du code. Nous allons aussi aligner le dernier else au même niveau que elif. Ainsi que l'indentation qui le suit. Vous constatez que le code est plus lisible en raison de la suppression des imbrications. Maintenant, on peut même gérer le cas où l'utilisateur saisit quelque chose d'autre que R, V ou O. Nous allons remplacer le Else par elif couleur est égale à O. Le traitement du bloc reste le même. Ensuite, nous allons ajouter un dernier Else qui signifie que le feu n'est ni rouge, ni vert, ni orange. Dans ce cas, on affiche une notification comme quoi la couleur saisie est invalide. Si vous n'avez pas bien assimilé le concept des structures conditionnelles en Python, ne vous inquiétez pas, car nous aurons l'occasion de manipuler les conditions très souvent dans les leçons et exercices qui vont suivre. Merci pour votre attention et à la vidéo prochaine.
More from Yamossoun

Algorithme de calcule de la racine carrée par dichotomie #dichotomy #squareroot #algorithm









