Python 3.11 : Condition ET/OU

Cette leçon aborde les opérateurs logiques en Python, à savoir and (et) et or (ou). Ils permettent de combiner plusieurs conditions dans un même if pour exprimer des règles plus riches. C'est indispensable dès qu'on veut tester un intervalle ou autoriser plusieurs valeurs possibles pour une variable.

Combiner avec and et or

Prenons deux exemples concrets : afficher « Vous êtes adolescent » si l'âge est compris entre 12 et 18 ans, et afficher « Vous êtes un bébé » si l'âge vaut 1 ou 2 ans. Le premier cas utilise and (les deux conditions doivent être vraies en même temps), le second utilise or (l'une OU l'autre des conditions suffit) :

if 12 <= age <= 18:
							    print("Vous êtes adolescent")
							
							if age == 1 or age == 2:
							    print("Vous êtes un bébé")

Python autorise la syntaxe élégante 12 <= age <= 18 qui combine deux comparaisons en une seule expression, ce qui équivaut à age >= 12 and age <= 18 mais est plus lisible. C'est une particularité bien pratique du langage. Pour les choix multiples, l'opérateur or permet d'écrire age == 1 or age == 2 sans dupliquer la condition.

Les règles d'évaluation à retenir :

  • and : vrai uniquement si les deux conditions sont vraies
  • or : vrai si au moins une condition est vraie
  • not : inverse une condition booléenne
  • Court-circuit : Python évalue de gauche à droite et s'arrête dès que possible
  • Préférer les chaînes de comparaison (a < x < b) quand c'est applicable

Bien utilisés, ces opérateurs rendent le code plus expressif et évitent les structures imbriquées inutiles. Vous pouvez les combiner avec des parenthèses pour expliciter la priorité quand vous avez à la fois des and et des or dans la même expression. À très bientôt pour la prochaine vidéo sur la boucle while.

En résumé

Cette leçon explique comment utiliser les opérateurs logiques ET (and) et OU (or) en Python pour construire des conditions plus complexes. À travers l'exemple de vérification d'âge, on montre comment combiner plusieurs conditions : l'opérateur `and` permet de vérifier si une valeur est dans une plage (par exemple, un âge entre 12 et 18 pour les adolescents), tandis que l'opérateur `or` permet de tester plusieurs valeurs distinctes (par exemple, un âge égal à 1 ou 2 pour les bébés). Ces opérateurs permettent de réduire la répétition de code et de rendre les conditions plus lisibles.

Points clés

  • L'opérateur `and` combine deux conditions et requiert que TOUTES les deux soient vraies pour exécuter le bloc d'instructions
  • L'opérateur `or` combine deux conditions et requiert qu'AU MOINS UNE soit vraie pour exécuter le bloc d'instructions
  • Pour vérifier si une valeur est dans une plage, on utilise `and` : `age >= 12 and age <= 18` pour identifier les adolescents
  • On peut chaîner plusieurs conditions avec `or` pour tester plusieurs valeurs : `age == 1 or age == 2` pour les bébés
  • Les conditions `and` et `or` réduisent la répétition de code en évitant d'écrire plusieurs instructions `if` séparées
  • Plusieurs blocs `if` peuvent s'exécuter simultanément si les conditions sont satisfaites pour chacun

Questions fréquentes

Quelle est la différence entre `and` et `or` en Python ?

L'opérateur `and` requiert que TOUTES les conditions soient vraies pour que le bloc s'exécute, tandis que `or` requiert qu'AU MOINS UNE condition soit vraie. Par exemple, `age >= 12 and age <= 18` (tous les deux vrais) versus `age == 1 or age == 2` (au moins un vrai).

Comment vérifier si une valeur est dans une plage de nombres ?

On utilise l'opérateur `and` pour combiner deux conditions : `age >= 12 and age <= 18`. Cela signifie que l'âge doit être à la fois supérieur ou égal à 12 ET inférieur ou égal à 18.

Peut-on combiner plusieurs opérateurs `or` dans une seule condition ?

Oui, on peut chaîner plusieurs conditions avec `or` pour tester plusieurs valeurs distinctes. Par exemple, `age == 1 or age == 2 or age == 3` permet de vérifier si l'âge est égal à 1, 2 ou 3.