Tutoriel Python : tout savoir sur le type Boolean

Table des matières

I. Introduction

II. Définir le type booléen

III. Manipuler les booléens

  1. Les opérateurs de comparaison
  2. Les opérateurs de comparaison chaînés
  3. Les opérateurs d’appartenance in & not in
  4. Les opérateurs logiques And & Or
  5. Les opérateurs d’identité
  6. Autres opérateurs

IV. Exercices d’application

  1. Exercice 1
    1. Enoncé
    2. Corrigé
  2. Exercice 2
    1. Enoncé
    2. Corrigé
  3. Exercice 3
    1. Enoncé
    2. Corrigé

V. Conclusion

 

I. Introduction

Parmi les types de données, il y a les nombres notamment les entiers, les flottants et les complexes, et il existe aussi les chaînes de caractères. On verra dans cet article un troisième type de données à savoir : les booléens. Ces derniers ont deux valeurs possibles : TRUE et FALSE, le principal avantage de ce type est la possibilité de la prise de décision tout en mentionnant les conditions à remplir ou non dans un programme.

II. Définir le type booléen

Le résultat du calcul d'une expression booléenne << logique >> est vrai ou faux. Python offre un type booléen défini sur False ou True. Il existe plusieurs fonctions même des opérations qui retournent des objets booléens. On peut également vérifier si l’objet est un booléen ou non avec la fonction type.

Exemple

  • Code :

variable = False
print(variable)
print(type(variable))

  • Résultat d’exécution :

Il est possible d’inverser le type booléen en utilisant le mot clé not.

Exemple

  • Code :

variable = False
not variable



  • Résultat d’exécution :

Pour travailler avec le type booléen il faut distinguer entre les éléments considérés True et ceux considérés comme False :

TRUE

FALSE

True

False

1

0

Un nombre soit positif ou négatif

None (Aucun)

Une chaine non vide

Une chaîne vide

Une liste non vide

Une liste vide

Un dictionnaire non vide

Un dictionnaire vide

III. Manipuler les booléens

1. Les opérateurs de comparaison

Le tableau suivant indique les divers opérateurs de comparaison :

OPÉRATION

DESCRIPTION

X == Y

X est égale à Y

X != Y

X est différent de Y

X > Y

X est supérieur strictement à Y

X < Y

X est inférieure strictement à Y

X >= Y

X est supérieur ou égale à Y

X <= Y

X est inférieur ou égale à Y

Exemple

  • Code :

#vérifier si x=2 et y=4 sont égaux
print(2==4)
#vérifier si x=2 et y=4 ne sont pas égaux
print(bool(2!=4))
#vérifier si x=2 est strictement supérieur à y=4
print(2>4)
#vérifier si x=2 est strictement inférieur à y=4
print(2<4)
#vérifier si x=2 est supérieur ou égale à y=4
print(bool(2>=4))
#vérifier si x=2 est inférieur ou égale à y=4
print(2<=4)

  • Résultat d’exécution :

En fait, les variables sont utilisées plus souvent. Par exemple, si nous nous donnons un entier i, nous voulons connaître 2i + 1?100. En Python, nous écrirons :

Exemple

  • Code :

print(2*i+1 >= 100)
i=50
print(2*i+1 >= 100)print(2 == x < 5)

Résultat d’exécution :

2. Les opérateurs de comparaison chaînés

Il est possible que les opérateurs de comparaison soient chaînés, comme illustré dans l’exemple suivant :

Exemple

  • Code :

x  =  5
print(1  <  x  <  10)
print(10  <  x  <  30)
print(1  >  x  <=  2)
print(2  ==  x  <  5) print('demain'  not in  'demain il va faire beau')

Résultat d’exécution :

Faites une comparaison entre chaque couple de termes à traiter. Par exemple, dans notre exemple, 1 <x est traité comme Vrai et x <5 est évalué. Le programme n’a pas travaillé comme si 1 <x est égale à True, et <10 est égal à True! Chaque terme doit être évalué une seule fois.

3. Les opérateurs d’appartenance in & not in

Si les variables sont trouvées dans l'ordre exacte, in vaut True, sinon il est Faux.



Si la variable est trouvée dans la séquence, le résultat de not in est False, sinon c'est True.

Exemple

  • Code :

print('demain' in 'demain il va faire beau')
print('demain' not in 'demain il va faire beau')

  • Résultat d’exécution :

4. Les opérateurs logiques And & Or

Le traitement avec des opérateurs logiques And et Or suit les règles suivantes :

ü Les opérateurs And / Or permettent de traiter les expressions de gauche à droite.

ü L’opérateur And permet, dans le cas où toutes les valeurs sont True, de retourner la dernière valeur traitée. Dans un autre cas, il permet de retourner a première valeur si la valeur est False.

ü L’opérateur Or permet de retourner la première valeur de True. Or, si tout est faux, la dernière valeur est retournée.

Exemple

  • Code :

nom = input("Quel est votre nom? ")
mdp = input("Quel est le mot de passe? ")
if nom == "Kaoutar" and mdp == "One":
print("Bienvenue Kaoutar")
elif nom == "Hiba" and password == "Two":
print("Welcome Hiba")
else:
print("Utilisateur non reconnu")

  • Résultat d’exécution :

Il faut noter que l’opérateur And est plus prioritaire que l’opérateur Or, prenons cet exemple :

Exemple

  • Code :

True and False or True

  • Résultat d’exécution :

Parce que et a une priorité plus supérieure, le premier niveau est "True and False", qui est, bien sûr, toujours False. Par conséquent, la deuxième évaluation devient "False Or True", ce qui a pour résultat True. Parfois, il est plus facile d’utiliser des crochets pour être sûr d’écrire ce que vous voulez dire :

Exemple

  • Code :

(True and False) or True

  • Résultat d’exécution :

Pour mieux comprendre le fonctionnement de ces opérateurs logiques voyez les tableaux suivants :

AND

EXPRESSION

RÉSULTAT

True and true

True

True and false

False

False and true

False

False and false

False

OR 

EXPRESSION

RÉSULTAT

True and true

True

True and false

True

False and true

True

False and false

False

5. Les opérateurs d’identité

Si les variables des deux côtés de l'opérateur pointent vers un même objet, l’opérateur dans ce premier cas vaut True, sinon il vaut False. Si les variables des deux côtés de l'opérateur pointent vers un même objet, ce n'est pas False dans ce deuxième cas, sinon c'est True pour le cas opposé.



Exemple

  • Code :

p = 'hello'
p_id = p
p_id is p

  • Résultat d’exécution :

6. Autres opérateurs

Le tableau suivant montre l'ordre d'évaluation du plus élevé au plus bas des opérateurs :

OPÉRATEURS

DESCRIPTIONS

(), [], {}, ‘’

Un tuple, une liste, un dictionnary, string

X.ATTR, X[], X[I:J], F()

Un attribut, un index, slide, un appel de fonction

+X, -X, ~X

Une négation unaire, inversion au niveau du bit

**

Un exposant

*, /, %

Une multiplication, une division, un modulo

+, -

Une addition, une substraction

<<, >>

Un décalage au niveau du bit

&

Opérateur And au niveau du bit

^

Opérateur Xor au niveau du bit

&&

Opérateur Or au niveau du bit

<, <=, >=, >, ==, !=

Les opérateurs de comparaison

IS, IS NOT

Les opérateurs d’identité

IN, NOT IN

Les opérateurs d’appartenance

NOT

Booléen NON

AND

Booléen ET

OR

Booléen OU

LAMBDA

L’expression de lamnda

IV. Exercices d’application

1. Exercice 1

a) Enoncé

Le code suivant vérifie si le nombre passé à la fonction booléenne est divisible par 3. Si la valeur est divisible par 3, elle renvoie true, sinon elle renvoie false.

b) Corrigé

Code :

x=6
if(bool(x%3==0)):
print(x,"est divisible par 3")
else:
print(x,"n'est pas divisible par 3")
Résultat d’exécution :

Résultat d’exécution :

2. Exercice 2

a) Enoncé

Écrir un programme qui permet de deviner votre nom en seulement trois chances.

b) Corrigé

Code :

print("Devinez mon nom !")
comptage = 1
nom = "kaoutar"
devine = input("Quel est mon nom? ")
while comptage < 3 and devine.lower() != nom: # .lower permet ici de ne pas considérer les majuscules dans le nom
print("Nom incorrect !")
devine = input("Quel est mon nom? ")
comptage = comptage + 1
if devine.lower() != nom:
print("Nom incorrect !")
print("Vous avez terminez vos chances")
else:
print("Correct ! Vous avez devinez mon nom"), nom + "!"

Résultat d’exécution :

3. Exercice 3

a) Enoncé

Ecrire un programme qui teste si un nombre est premier ou pas.

b) Corrigé

Code :

while i < nombre and nombre % i != 0 :
i = i + 1
if i == nombre :
print('Le nombre', nombre, 'est premier ! Fantastique !')
else :
print('Ce n\'est pas un nombre premier.')



Résultat d’exécution :

V. Conclusion

Pour conclure, le type de données bool sert à stocker deux valeurs : True et False. Ce type permet de traiter un programme et de vérifier si le résultat retourné du programme est vrai ou faux. Dans ce tutorial on a pu définir le type booléen en python et de manipuler ce dernier par plusieurs opérateurs dont la fonctionnalité diffère, tout en concrétisant les explications par des exemples. Et enfin, plusieurs exercices ont été mis en place pour appliquer le cours et pour pouvoir avancé dans la programmation en langage python.

Tutoriel Python