Opérateurs Logiques
Glissez pour afficher le menu
On dit oui et oui, oui ou non, absolument pas. En Python, les opérateurs logiques and, or et not expriment formellement ces idées et produisent des booléens (True/False) utilisés avec les comparaisons dans if/while.
Signification de chaque opérateur
Priorité
not a une priorité plus élevée que and, qui a lui-même une priorité plus élevée que or (not > and > or). Utiliser des parenthèses en cas de doute.
Par exemple, age >= 18 and has_id est True uniquement si les deux conditions sont remplies :
123age = 21 has_id = True print(age >= 18 and has_id) # True
Table de vérité
Une table de vérité répertorie toutes les valeurs de vérité possibles des entrées et affiche le résultat d'une expression logique. Il s'agit d'un moyen compact de raisonner sur la logique sans exécuter de code.
Utilisation de la table
Si X est False et Y est True, alors X and Y est False, X or Y est True, et not X est True.
Valeurs de retour et court-circuitage
and et or ne renvoient pas toujours les valeurs booléennes True ou False. À la place, ils retournent l'un de leurs opérandes, et Python arrête l'évaluation dès que le résultat final est garanti (court-circuitage).
-
A and B:- Si
Aest falsy, le résultat est garanti comme étant falsy, donc Python court-circuite et retourneA(sans évaluerB).
- Si
-
Si
Aest truthy, le résultat dépend entièrement deB, donc Python évalue et retourneB. -
A or B:- Si
Aest truthy, le résultat est garanti comme étant truthy, donc Python court-circuite et retourneA(sans évaluerB).
- Si
-
Si
Aest falsy, le résultat dépend entièrement deB, donc Python évalue et retourneB. -
not Xretourne toujours une valeur booléenne réelle :TrueouFalse.
1234567891011121314151617# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy
1. Complétez les blancs avec True ou False. Soit X = True, Y = False.
2. Quelle affirmation correspond à la logique classique pour « ni X ni Y » ?
3. Que retourne l'expression ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion