Aller au contenu

Booléens et tests

Les booléens (variables de type : bool) sont des données ne pouvant prendre que deux valeurs : True ou False. Ce type de variable est souvent utilisé comme résultat d'un test (d'une condition).

Opérateurs de comparaison

Les opérateurs de comparaison du contenu des variables x et y sont :

  • x == y (x est-il égal à y ?)

  • x != y (x est-il différent de y ?)

  • x > y (x est-il supérieur à y ?)

  • x < y (x est-il inférieur à y ?)

  • x >= y (x est-il supérieur ou égal à y ?)

  • x <= y (x est-il inférieur ou égal à y ?)

Attention

Il ne faut pas confondre :

  • l'instruction d'affectation x = 1 (x prend la valeur 1)
  • et le test d'égalité x == 1(x est-il égal à 1 ?).

Exemple

Testez les commandes suivantes dans la console et noter les réponses obtenues.

>>> a = 2

>>> b = 3.5

>>> a == b

>>> a < b

>>> type(a >= b)

>>> 3 < b < 5

>>> c = 'a'

>>> c == a

>>> c == 'a'
Réponses
>>> a = 2

>>> b = 3.5

>>> a == b
False

>>> a < b
True

>>> type(a >= b)
bool

>>> 3 < b < 5
True

>>> c = 'a'

>>> c == a
False

>>> c == 'a'
True

Test de divisibilité

Rappel

Soient a et d deux nombres entiers. d est un diviseur de a lorsque le reste de la division de a par d est nul.

Il existe alors un entier k tel que a = d \times k. Dés lors, a est un multiple de d.

Dans ce qui suit, les variables n et d sont entières (int), avec d non nul.
Pour déterminer si n est un multiple de d, on utilise l'opérateur modulo « % » (reste de la division euclidienne de n par d) :

1
n%d == 0        # teste si n est divisible par d

Exemple

Testez les commandes suivantes dans la console et notez les réponses obtenues.

>>> a = 24

>>> a%2

>>> a%3

>>> a%4

>>> a%5

>>> a%6
Réponses
>>> a = 24

>>> a%2
0

>>> a%3
0

>>> a%4
0

>>> a%5
4

>>> a%6
0

Opérateurs d'inclusion

L'opérateur d'inclusion « in » est utilisé pour déterminer si un élément est inclus dans une séquence (chaîne de caractères, liste, tuple, etc...) :

  • x in y (x est-il dans y ?)

  • x not in y (x est-il « extérieur » à y ?)

Exemple

Testez les commandes suivantes dans la console et notez les réponses obtenues.

>>> a = 2

>>> b = 'a'

>>> c = 'a2b'

>>> b in c

>>> c in b

>>> type(a in b)

>>> a not in c
Réponses
>>> a = 2

>>> b = 'a'

>>> c = 'a2b'

>>> b in c
True

>>> c in b
False

>>> type(c in b)
bool

>>> a not in c
TypeError: 'in <string>' requires string as left operand, not int    

Test de type

La fonction isinstance(), définie par défaut en Python, permet de tester le type d'une variable. Elle renvoie un booléen.

Exemple

Testez les commandes suivantes dans la console et notez les réponses obtenues.

>>> a = 2

>>> b = 'a'

>>> isinstance(a, int)

>>> isinstance(a, float)

>>> isinstance(b, str)
Réponses
>>> a = 2

>>> b = 'a'

>>> isinstance(a, int)
True

>>> isinstance(a, float)
False

>>> isinstance(b, str)
True