Valeurs booléennes

4.1 Valeurs booléennes

Objectifs d'apprentissage

À la fin de cette section, vous devriez être capable de :

  • Expliquer une valeur booléenne.
  • Utiliser des variables bool pour stocker des valeurs booléennes.
  • Démontrer la conversion d'entiers, de flottants et de chaînes de caractères en booléens.
  • Démontrer la conversion de booléens en entiers, en flottants et en chaînes de caractères.
  • Utiliser les opérateurs de comparaison pour comparer des entiers, des flottants et des chaînes de caractères.

Type de données bool

On pose souvent des questions binaires telles que des questions par oui/non ou vrai/faux. Ex. : Aimez-vous l'ananas sur la pizza ? Ex. : Vrai ou faux : j'aime l'ananas sur la pizza. La réponse est une valeur booléenne, ce qui signifie que la valeur est soit vraie, soit fausse. Le type de données bool, abréviation de booléen, représente une valeur binaire valant soit vrai, soit faux. true et false sont des mots-clés, et l'usage de la majuscule est requis.

Faites le point

Exemple : Signalisation pour passage piéton

Concepts en pratique

Utiliser des variables booléennes

Considérez le code suivant :

    is_fruit = "True"
    is_vegetable = 0
    is_dessert = False
1.
Quel est le type de données de is_fruit ?
  1. booléen
  2. entier
  3. chaîne de caractères
2.
Quel est le type de données de is_vegetable ?
  1. booléen
  2. entier
  3. chaîne de caractères
3.
Quel est le type de données de is_dessert ?
  1. booléen
  2. entier
  3. chaîne de caractères
4.
Combien de valeurs une variable booléenne peut-elle représenter ?
  1. 2
  2. 4
  3. 8
5.
Laquelle est une valeur valide pour une variable booléenne ?
  1. true
  2. True
  3. 1
6.
Supposons que le code suivant soit ajouté au code ci-dessus :
is_dessert = 0
print(type(is_dessert))
Quelle est la sortie ?
  1. <class 'bool'>
  2. <class 'int'>
  3. Error

Conversion de type avec bool()

Déterminer si une valeur est vraie ou fausse est utile lors de l'écriture de programmes ou d'instructions reposant sur des décisions. Convertir des types de données en booléens peut sembler peu intuitif au début. Ex. : Is "ice cream" True? Mais la conversion est en réalité simple.

bool() convertit une valeur en une valeur booléenne, True ou False.

  • True : tout nombre non nul, toute chaîne non vide
  • False : 0, chaîne vide

Faites le point

Convertir des entiers, des flottants et des chaînes de caractères avec bool()

Concepts en pratique

Convertir des types numériques et des chaînes de caractères en booléens

7.
bool(0.000)
  1. True
  2. False
8.
bool(-1)
  1. True
  2. False
9.
bool("")
  1. True
  2. False
10.
bool("0")
  1. True
  2. False
11.
Étant donné l'entrée False, quelle est la valeur de bool(input()) ?
  1. True
  2. False

Concepts en pratique

Convertir des booléens en types numériques et en chaînes de caractères

Sachant que is_on = True, quelle est la valeur de chaque expression ?

12.
float(is_on)
  1. 0.0
  2. 1.0
13.
str(is_on)
  1. "is_on"
  2. "True"
14.
int(is_on)
  1. 0
  2. 1

Opérateurs de comparaison

Les programmeurs doivent souvent répondre à des questions telles que : « L'utilisateur actuel est-il l'administrateur ? ». Un programmeur peut souhaiter comparer une variable de type chaîne, user, à la chaîne "admin". Les opérateurs de comparaison (comparison operators) sont utilisés pour comparer des valeurs, et le résultat est soit vrai, soit faux. Ex. : is_admin = (user == "admin"). user est comparé à "admin" à l'aide de l'opérateur ==, qui vérifie l'égalité. La variable booléenne, is_admin, se voit affecter le résultat booléen.

Les 6 opérateurs de comparaison :

  • égal à : ==
  • différent de : !=
  • strictement supérieur à : >
  • strictement inférieur à : <
  • supérieur ou égal à : >=
  • inférieur ou égal à : <=

Faites le point

Exemple : Lancer un d20 dans un jeu de plateau

Concepts en pratique

Comparer des valeurs

Pour chaque nouvelle variable, quelle est la valeur de compare_result ?

15.
x = 14
compare_result = (x <= 13)
  1. True
  2. False
16.
w = 0
compare_result = (w != 0.4)
  1. True
  2. False
17.
v = 4
compare_result = (v < 4.0)
  1. True
  2. False
18.
y = 2
compare_result = (y > "ab")
  1. True
  2. False
  3. Error
19.
z = "cilantro"
compare_result = (z == "coriander")
  1. True
  2. False
20.
a = "dog"
compare_result = (a < "cat")
  1. True
  2. False

= vs ==

Une erreur fréquente consiste à utiliser = pour la comparaison au lieu de ==. Ex. : is_zero = num=0 donnera toujours à is_zero et à num la valeur 0, quelle que soit la valeur initiale de num. L'opérateur = effectue une affectation et modifiera la variable. L'opérateur == effectue une comparaison, ne modifie pas la variable et produit True ou False.

Pour aller plus loin

À vous d'essayer

Booléen du vendredi

« It's Friday, I'm in love » — extrait de « Friday I'm in Love », une chanson sortie par The Cure en 1992.

Écrivez un programme qui lit le jour de la semaine. Affectez à la variable booléenne, in_love, le résultat indiquant si le jour est vendredi ou non.

À vous d'essayer

Nombres pairs

Écrivez un programme qui lit un entier et affiche s'il est pair ou non. N'oubliez pas qu'un nombre est pair s'il est divisible par 2. Pour vérifier cela, utilisez number % 2 == 0. Ex. : Si l'entrée est 6, la sortie est "6 is even: True".