Vidéo 13 : Les booléens¶
Les booléens en Python¶
Les valeurs de vérité Vrai et Faux en Python sont représentées par deux constantes du langage :
Truepour VraiFalsepour Faux
True et False sont des mots-clés du langage Python 3. Les booléens True et False appartiennent, comme les entiers ou les flottants, à un type, le type bool.
Opérateurs de comparaison et booléen¶
Certaines expressions ont pour valeur des booléens. C’est le cas, par exemple, de toute expression représentant une comparaison. Par exemple, l’expression Python 42 > 45 vaut False :
1 2 | print(42 > 45)
print(42 == 40 + 2)
|
3 4 | False
True
|
- Lignes 3-4 : l’assertion « 42 est strictement supérieur à 45 » vaut
False. - Ligne 1 : l’assertion « 42 a même valeur que 40 + 2 » vaut
True(elle est vraie).
Voici un exemple d’utilisation :
1 2 3 | n = 5 * 12 + 6 ** 3 - 42 + 17
print(n > 256)
print(n)
|
4 5 | False
251
|
- Ligne 1 :
nest un entier dont la valeur explicite n’apparaît pas dans le code. - Ligne 2 : On teste pour savoir si l’entier
nest plus grand que 256. - Ligne 4 : On lit que non (cf.
False),nn’est pas plus grand que 256. - Lignes 3 et 5 : le calcul explicite de
nconfirme que l’assertionn > 256est fausse.
En pratique, les comparaisons utilisent souvent des variables. Par exemple, on se donne un entier k et on cherche à savoir si \(\mathtt{2k+1\geq 100}\). En Python on écrira :
1 2 3 4 5 | k=10
print(2*k+1 >= 100)
k=60
print(2*k+1 >= 100)
|
6 7 | False
True
|
Opérateurs logiques ET, OU et NON¶
Les notions d”assertion logique et d”opérateur logique existent indépendamment de tout langage de programmation. L’énoncé \(2k+1 \geq 100\) où \(k\) est un entier, est un exemple d’assertion logique (elle est vraie ou fausse selon la valeur de \(k\), vraie si \(k=60\), fausse si \(k=25\)).
L’opérateur ET¶
À partir de deux propositions logiques p et q, on peut former la proposition logique p ET q. Par exemple, si on a les deux propositions logiques :
p : 5 > 3, q : 4 > 7
alors
pest vraieqest faussep ET qest une proposition fausse.
Règle : p ET q est vraie uniquement si p est vraie et si q est également vraie.
Cette règle est conforme à l’usage habituel de la conjonction de coordination ET.
Voici donc la table de vérité de l’opérateur ET :
p |
q |
p ET q |
| Vrai | Vrai | Vrai |
| Vrai | Faux | Faux |
| Faux | Vrai | Faux |
| Faux | Faux | Faux |
Ne pas accorder trop d’importance à cette table, en pratique assez peu utile. Une expression de la forme p ET q s’appelle une conjonction et p et q s’appellent les opérandes de la conjonction.
La notion d’opérateur OU¶
À partir de deux propositions logiques p et q, on peut former la proposition logique p OU q. Par exemple, si
p : 5 > 3, q : 4 > 7
alors :
pest vraieqest faussep OU qest une proposition vraie.
Règle : p OU q est fausse uniquement si p est fausse et si q est également fausse.
Une expression de la forme p OU q s’appelle une disjonction. Les assertions p et q s’appellent les opérandes de la disjonction.
Voici la table de vérité de l’opérateur OU :
p |
q |
p OU q |
| Vrai | Vrai | Vrai |
| Vrai | Faux | Vrai |
| Faux | Vrai | Vrai |
| Faux | Faux | Faux |
Ne pas accorder trop d’importance à cette table, en pratique assez peu utile.
Le OU est non exclusif¶
Le OU logique n’a pas valeur exclusive comme dans fromage ou dessert et qui signifie
soit fromage soit dessert mais pas les deux.
Autrement dit, dès que l’une des deux assertions p ou q sont les deux vraies alors l’assertion p OU q est vraie.
Par exemple, si
p : 5 > 3, q : 4 < 7
alors :
pest vraie,qest vraie,- la proposition
p OU qest vraie.
L’opérateur logique NON¶
La proposition NON p est la négation de p. Si
p : 5 > 3
alors :
pest vraieNON pest fausse.
Règle : toute proposition logique p admet une négation q, notée NON p. La valeur logique de q est
- vraie si
pest fausse, - fausse si
pest vraie.
Opérateurs and, or et not¶
L’opérateur logique ET est représenté en Python par le mot-clé et opérateur and :
1 2 3 4 5 | p = (5 > 3)
q = (4 > 7)
print(p)
print(q)
print(p and q)
|
6 7 8 | True
False
False
|
- Lignes 5 et 8 :
p and qvautFalsepuisqueqvautFalse.
L’opérateur logique OU est représenté en Python par le mot-clé et opérateur or.
1 2 3 4 5 | p = (5 > 3)
q = (4 > 7)
print(p)
print(q)
print(p or q)
|
6 7 8 | True
False
True
|
- Lignes 5 et 8 :
p or qvautTruepuisquepvautTrue.
L’opérateur NON est représenté en Python par le mot-clé et opérateur not.
1 2 3 4 5 | p = (5 == 2 + 3)
print(p, not p)
q = (3 > 4)
print(q, not q)
|
6 7 | True False
False True
|