Tutoriel Python : opérateurs de comparaison

Table des matières
2. Exercices
Introduction
Bienvenue dans un nouveau tutoriel de programmation Python ! Aujourd’hui, nous allons introduire une nouvelle notion qui est très intéressante et indispensable pour écrire un programme en Python. Il s’agit des opérateurs de comparaison !
Ce tutoriel va porter en premier lieu sur la définition de chaque opérateur de comparaison et sa syntaxe en Python, Ensuite, nous allons enrichir nos connaissances avec des exemples et exercices afin de mieux comprendre.
Cependant, aucun prérequis n’est nécessaire pour suivre ce tutoriel! Quel soulagement ! Il faut juste un peu de concentration et de patience afin de bien comprendre ces notions et pouvoir écrire vos propres programmes.
1. Les opérateurs de comparaison
1.1 Définition générale
Les opérateurs de comparaison en Python sont des outils qui permettent d’effectuer des tests entre différentes variables ou ce qu’on appelle aussi des opérandes. Ils sont généralement utilisés pour des tests d’égalité, de différence, de supériorité ou d’infériorité.
1.2 Strictement inférieur
Le premier opérateur que nous allons voir est le strictement inférieur qui teste si un opérande est strictement inférieur à un autre opérande, il est exprimé par « < » en Python.
Nous allons commencer avec des exemples très simples au début afin de vous familiariser avec ces opérateurs.
Exemple :
Syntaxe :
a=200
a<100
Résultat de l’exécution :

Ce premier programme teste si la valeur de la variable a=200 est strictement inférieure à 100. Bien sûr, ce n’est pas le cas donc l’exécution retourne False !
Exemple :
Syntaxe :
a=50<100
a
Ici, 50 est bien inférieur à 100 donc l’exécution retourne True.
Résultat de l’exécution :

Exemple :
Ce dernier exemple, vous confirme que l’opérateur strictement inférieur exclut la notion d’égalité !
Syntaxe :
50<50
Résultat de l’exécution :

Maintenant nous allons passer à des exemples un peu plus compliqués afin de vous habituer à programmer en Python.
Exemple:
Dans cet exemple nous souhaitons tester si un nombre est strictement inférieur à 3, si c’est le cas, le programme affiche (« a est strictement inférieur à 3 »).
Syntaxe:
a=2
if (a<3):
print ('a est strictement inférieur à 3')
Dans ce deuxième bout de code, nous voulons faire les choses avec plus de précision ! Il est similaire au premier mais la seule différence est que si le nombre n’est pas strictement inférieur à 3 il affiche le deuxième message.
Syntaxe:
a=3
if (a<3):
print('a est strictement inférieur à 3')
else:
print("a est supérieur ou égal à 3")
Résultat de l’exécution :

Exemple: Bonjour !
Dans cet exemple, nous allons tester deux chaînes de caractères, l’opérateur teste si la longueur d’une chaîne est strictement inférieure à la longueur d’une autre.
Si le premier mot est plus long que le deuxième, le programme retourne (‘‘le premier mot est plus court’’) sinon il retourne (‘‘le deuxième mot est plus court que le premier’’).
Syntaxe:
mot_1="Bonjour"
mot_2 = "Bonjou"
mot_3 = "Salut"
if mot_1<mot_2:
print("le premier mot est plus court !")
else:
print ("le deuxième mot est plus court que le premier")
Résultat de l’exécution :

Il est évident que Bonjour est plus long que Bonjou !
Exemple:
Ce dernier exemple teste si une liste est strictement inférieure à deux listes. Si la première liste est strictement inférieure à la deuxième et troisième liste, le programme retourne « la première liste est inférieur à la deuxième et troisième » sinon il affiche le deuxième message.
Syntaxe :
liste_1=[10,3,2]
liste_2 = [10,4,4]
liste_3 = [11,12,9]
if liste_1
print("la première liste est inférieur à la deuxième et la troisième !")
else :
print("la 1 liste est supérieur aux deux ou à une des listes !"
Résultat de l’exécution :

1.3 Strictement supérieur
Tout comme le strictement inférieur mais inversement, cet opérateur teste si un opérande est strictement supérieur à un autre opérande. Il est exprimé par « > » en Python .
Voici quelques exemples de bases en Python :
Exemple:
On teste si 289 est strictement positif, tant que c’est le cas l’exécution retourne True.
Syntaxe:
a=289
a>0
Résultat de l’exécution :
Exemple :
Syntaxe :
a=-1
a>-100
Résultat de l’exécution :

True ! Car -1 est strictement supérieur à -100.
Exemple:
Syntaxe :
1>1
Résultat de l’exécution :

Exemples avancés :
Exemple:
Cet exemple est similaire à celui qu’on avait fait avec l’opérateur précèdent. La seule différence est qu’ici il teste si a est strictement supérieur à 4.
Syntaxe :
a=100
if (a>4):
print ('a est strictement supérieur à 4')
Dans ce deuxième bout de code, nous voulons faire les choses avec plus de précision ! Il est similaire au premier mais la seule différence est que si le nombre n’est pas strictement supérieur à 4 il affiche le deuxième message.
a=4
if(a>4):
print('a est strictement supérieur à 4')
else :
print("a est inférieur ou égal à 4")
Résultat de l’exécution :

L’exécution du premier code affiche le premier message car 100 est supérieur à 4. La deuxième partie du code retourne le deuxième message car 4 n’est pas strictement supérieur à 4.
Tant que nous y sommes, nous mettons à votre disposition une petite table de négation qui pourrait vraiment vous servir :
Expression | Négation |
---|---|
Strictement inférieur | Supérieur ou égal |
>Strictement supérieur | nférieur ou égal |
>Différent | Égal |
Cette table fonctionne dans les deux sens bien sûr !
Exemple:
- n’est pas égal à 3 è2 est différent de 3.
- 0 n’est pas strictement supérieur à 0 è0 <= 0.
- 1 n’est pas supérieur ou égal à 2 à1 est strictement inférieur à 2.
Revenons à nos moutons !
Exemple:
Ici, nous voulons tester si la longueur d’une chaîne est supérieure à la longueur des deux autres :
Syntaxe :
Chaine1="Programmation"
Chaine2 = "Progra"
Chaine3 = "Info"
if Chaine1>Chaine2 and Chaine2>Chaine3:
print ("le premier mot est plus long des trois !")
Résultat de l’exécution :

La longeur de la premiere chaîne est strictement supérieure à celle des deux autres chaînes donc le programme affiche que le premier mot est le plus long parmi les trois !
1.4 Inférieur ou égal
L’opérateur inférieur ou égal est exprimé en Python par « <= », il vérifie si le premier opérande est inférieur ou égal au deuxième opérande.
Dans ces exemples nous allons le tester sur deux nombres. Le résultat va être « True » si la condition est vérifiée sinon « False ».
Exemple :
Syntaxe :
3 <= 3
3 <= 5
3<= -1
Résultat de l’exécution :

Nous obtenons True pour la premier et deuxième exécution car effectivement 3 est égal à 3 et est inférieur à 5. La dernière exécution retourne false résultat qui est tout à fait logique !
Passons à des exemples plus développés !
Exemples avancés :
Exemple: Crédit bancaire
Nous voulons écrire un programme qui accorde un crédit bancaire ou non à un client selon son âge et le nombre d’enfants qu’il a :
- Si l’âge est inférieur ou égal à 55 ans et le nombre d’enfants est inférieur ou égal à 3 alors le programme affiche (‘crédit accordé ‘) sinon il affiche (‘le crédit est refusé) :
Syntaxe :
age=45
nb_enfants=2
if age<=55 and nb_enfants<=3:
print("le crédit est accordé ")
else :
print("le crédit est refusé")
Résultat de l’exécution :

Nous allons également tester un cas où le crédit serait accordé pour un client avec la limite d’âge exigée.
Syntaxe :
age=55
nb_enfants=2
if age<=55 and nb_enfants<=3:
print("le crédit est accordé ")
else :
print("le crédit est refusé")
Résultat de l’exécution :

Remarque : Ici si on avait le ‘<’ le crédit n’aurait pas été accordé à ce client mais heureusement que l’opérateur inférieur ou égal inclut l’égalité ! Petit chanceux ce client !
Maintenant, nous essayerons le cas où le crédit serait malheureusement refusé pour le client.
Syntaxe :
age=56
nb_enfants=2
if age<=55 and nb_enfants<=3:
print("le crédit est accordé ")
else :
print("le crédit est refusé")
Résultat de l’exécution :

Un dernier exemple avant de passer à la section suivante.

Exemple : Score d’un joueur
Dans cet exemple, nous voulons déterminer le joueur qui a gagné la première partie d’un jeu.
Syntaxe :
Score_joueur_1=45
Score_joueur_2=44
if Score_joueur_1<=Score_joueur_2:
print("le Premier joueur a gagné la première partie ! ")
else:
print("le deuxième joueur a gagné la première partie !")
Résultat de l’exécution :

Dans la suite de cet exemple, on compare la somme des scores totaux de toutes les parties :
- Score_ji_pj : Score du joueuri à la partie j, i varie de 1 à 2, j de 1 à 3.
On déclare donc deux nouvelles variables Score_total_j1 et Score_total_j2 qui font la somme de tous les scores du premier joueur puis le deuxième. Ensuite, on compare les deux sommes.
Syntaxe :
Score_j1_p1=75
Score_j1_p2=85
Score_j1_p3=93
Score_j2_p1=67
Score_j2_p2=92
Score_j2_p3=101
Score_total_j1=Score_j1_p1+Score_j1_p2+Score_j1_p3
Score_total_j2=Score_j2_p1+Score_j2_p2+Score_j2_p3
if Score_total_j1>=Score_total_j2 :
print("le Premier joueur a gagné le jeu ! ")
else:
print("le deuxieme joueur a gagné le jeu !")
Résultat de l’exécution :

1.5 Supérieur ou égal
Cet opérateur vérifie si le premier opérande est supérieur ou égal au deuxième opérande. Il est exprimé par « >= » en Python. Les exemples suivants testent l’opérateur supérieur ou égal entre deux nombres.
Exemple:
Syntaxe :
5 >= 5
5>=10000
5>=0
Résultat de l’exécution :

Place aux exemples avancés !
Exemple: Attention au Radar !

Ce programme doit signaler à un conducteur s’il risque d’être signalé par un radar selon sa vitesse :
- Si la vitesse du conducteur est supérieur ou égal à 61 il risque d’être signalé et le programme doit afficher
(‘Attention ! risque RADAR)
- .
Syntaxe :
vitesse_conducteur=70
if vitesse_conducteur>=61:
print('ATTENTION! RISQUE RADAR')
Résultat de l’exécution :

Il est pressé dis donc !
1.6 Égal
Cet opérateur teste l’égalité entre deux variables et ne retourne True que si la condition est vérifiée. Il est exprimé par « == » en Python.
Attention ! Il ne faut pas confondre entre « = » et « == » qui ont deux significations différentes. Voici quelques exemples basiques afin de vous familiariser avec cet opérateur :
Exemple :
Syntaxe :
1==5
1==1
a=10
b=10
a==b
Résultat de l’exécution :

Exemple:
Cette fois nous allons tester l’égalité entre deux chaînes de caractères comme ça nous vous introduirons à ce type de variables !
Syntaxe :
chaine1='Python'
chaine2='python'
chaine1==chaine2
chaine1='Python'
chaine2='Python'
chaine1!=chaine2
chaine1='Python'
chaine2='python'
chaine1==chaine2
Résultat de l’exécution :

Comme vous le remarquez, Python est un langage très sensible à la casse et à la notion d’indentation. « Python », « python » et « Python » sont trois chaînes de caractère différentes pour l’interpréteur. C’est pourquoi il faut prendre en considération ces deux principes lors de votre programmation !
1.7 Différent
Il vérifie si les deux opérandes sont différents, renvoie True s’ils sont différents et False s’ils sont égaux. En python, on l’exprime par « != ». Voici quelques petits exemples pour mieux comprendre :
Exemple:
Syntaxe :
1 != 0
a=3
b=3
a != b
5 != 5
a=102
b=2020
a != b
Résultat de l’exécution :

A présent, voici quelques exemples plus développés :
Exemple:
On veut tester si deux chaînes sont différentes. Le programme compare toutes les lettres du mot et s’il trouve une différence il renvoi True.
Syntaxe :
chaine1='Python'
chaine2='python'
chaine1!=chaine2
chaine1='Python'
chaine2='Python'
chaine1!=chaine2
chaine1=' Python'
chaine2='Python'
chaine1!=chaine2
Résultat de l’exécution :

Exemple : Ce n’est pas le bon mot de passe !
Nous voulons écrire un programme qui compare le mot de passe fourni par un utilisateur avec celui stocké dans notre base de données. Si les mots de passe sont différents le programme affiche (‘Mot de passe incorrect, ressayez !’) sinon un message de redirection.
Syntaxe :
mot_de_passe_base='@JUIplkh'
mot_de_passe_saisi='@jUIplkh'
if mot_de_passe_base != mot_de_passe_saisi:
print("Mot de passe incorrect, ressayez!")
else:
print("Nous vous redirigeons vers votre compte en quelques secondes !")
Résultat de l’exécution :

Ici les deux mots de passe différent au deuxième caractère ‘j’ qui écrit en majuscule dans la base et en minuscule par l’utilisateur.
Vous connaissez tous les opérateurs de comparaison à présent. Maintenant nous allons passer à la section exercice que nous vous conseillons de faire seul puis de voir la correction proposée.
3. Exercices
Exercice 1 : Foire aux opérateurs
Écrivez un programme qui fait tous les tests de comparaison étudiés dans ce tutoriel entre deux nombres de votre choix sans oublier les messages à afficher !
Prenez en considération la table de négation fournie pour écrire facilement vos messages.
Par exemple :
Affiche (« a est strictement supérieur ») sinon … Vous savez quoi faire J
Exercice 2 : Attention à la panne !
Écrivez un programme qui permet à un conducteur d’éviter de tomber en panne :
- Si le niveau d’huile est strictement supérieur à 20 et strictement inférieur à 100 on est bien sinon il faut avertir le conducteur du danger !
3. Correction des exercices :
Exercice 1 : Foire aux opérateurs :
Syntaxe :
a = 100
b = 40
# a supérieure à b
if a > b:
print("a est supérieure à b")
else:
print("a est inférieure ou égale à b")
# a supérieure ou égale b
if (a >= b):
print("a est supérieure ou égale à b")
else:
print("a est inférieure à b")
# a inférieure à b
if (a < b):
print("a est inférieure à b")
else:
print("a est supérieure ou égal b")
# a inférieure ou égale à b
if (a <= b):
print("a est inférieure ou égale à b")
else:
print("a est supérieure à b")
# a et b égales
if (a == b):
print("les valeurs a et b sont égales")
else:
print("a et b ne sont pas égales")
# a et b ne sont pas égaux
if (a != b):
print("a et b ne sont pas égales ")
else:
print("a et b sont égales b")
Résultat de l’exécution :

Exercice 2 : Attention à la panne !
Syntaxe :
niveau_huile=45
if niveau_huile>20 and niveau_huile<100:
print("Tout est en ordre")
else :
print("Arrêtez-vous ! ")
Résultat de l’exécution :

Conclusion
Nous sommes arrivés à la fin de ce tutoriel Python. Vous pouvez à présent programmer vos propres codes ! Commencez par des exemples simples puis augmentez la difficulté au fur et à mesure. Cependant, il existe encore beaucoup de notions à découvrir pour compléter votre savoir ! Très bon courage et Bonne route J .