Tutoriel Python : opérateurs de comparaison

id 3471

Table des matières

Introduction

  1. Les opérateurs de comparaison

1.1 Définition générale

1.2 Strictement inférieur

1.3 Strictement supérieur

1.4 Inférieur ou égal

1.5 Supérieur ou égal

1.6 Égal

1.7 Différent

2. Exercices

3. Correction des exercices :

Conclusion

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 :

ExpressionNé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 joueurà 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 .