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 :
True
pour VraiFalse
pour 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 :
n
est un entier dont la valeur explicite n’apparaît pas dans le code. - Ligne 2 : On teste pour savoir si l’entier
n
est plus grand que 256. - Ligne 4 : On lit que non (cf.
False
),n
n’est pas plus grand que 256. - Lignes 3 et 5 : le calcul explicite de
n
confirme que l’assertionn > 256
est 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
p
est vraieq
est faussep ET q
est 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 :
p
est vraieq
est faussep OU q
est 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 :
p
est vraie,q
est vraie,- la proposition
p OU q
est vraie.
L’opérateur logique NON
¶
La proposition NON p
est la négation de p
. Si
p : 5 > 3
alors :
p
est vraieNON p
est fausse.
Règle : toute proposition logique p
admet une négation q
, notée NON p
. La valeur logique de q
est
- vraie si
p
est fausse, - fausse si
p
est 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 q
vautFalse
puisqueq
vautFalse
.
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 q
vautTrue
puisquep
vautTrue
.
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
|