Fonction ELIF sur Python : Ce qu’il faut retenir

-
3
 m de lecture
-

Le test d’expressions conditionnelles est la base même de la programmation. Si la structure if then else (si alors sinon) est inhérente à la plupart des langages, Python manipule une autre forme de condition : if elif else… Qu’en est-il au juste ?

Si vous avez appris à écrire un programme informatique, et quel que soit votre niveau, vous savez qu’un élément essentiel de presque tout bloc de code est la structure conditionnelle. 

Comment fonctionne-t-elle ? Une valeur particulière (la température, la date du jour…) est soumise à un test, grâce à des opérateurs de comparaison. Une application d’agriculture pourrait comparer le niveau d’humidité à une valeur et enclencher un arrosage si elle descend au-dessous d’un certain niveau.

Dans la quasi totalité des langages de programmation, le bloc de code courant repose sur l’expression conditionnelle if (si).

if niveau_humidité < faible_humidité:

arroser

Si la condition est vérifiée (dès que le niveau d’humidité descend en dessous de la valeur spécifiée dans la variable faible_humidité), alors l’application déclenche l’arrosage. Si la condition est fausse, rien ne se passe.

La structure if then else

Habituellement, les langages de programmation reposent sur une structure fondamentale : if (condition) then (action) else (autre action).

if jour_de_la_semaine == “samedi”:

promotion = prix * 0,8

else:

promotion = prix * 0,9

Dans cet exemple, les articles en promotion sont vendus au 9/10ème de leur prix du lundi au vendredi, et au 8/10ème de leur prix le samedi.

Dans un grand nombre de langages, c’est la combinaison des deux clauses else et if qui donne la possibilité de tester toute une gamme de conditions. Nous avons donc cette forme:

if (condition):

action 1

else if (condition 2):

action 2

else if (condition 3):

action 3

(…)

La structure if elif else de Python

La syntaxe de Python a introduit une autre expression conditionnelle, bien plus claire et maniable : elif. Celle-ci permet également de tester à la suite toute une série de conditions, tandis que else n’entre en jeu que si aucune des conditions précédentes n’a été vérifiée.

Si la première condition spécifiée par if n’est pas satisfaite, 

  • alors une 2ème condition spécifiée par elif est testée, 
  • potentielle une 3ème condition spécifié par elif,
  • potentiellement une 4ème spécifiée elle aussi  avec elif,
  • potentiellement davantage de conditions spécifiées avec elif.
  • Au bout du compte, une expression else unique prend en compte tous les cas de figures, non couverts par les expressions conditionnelles précédentes.

Comme nous pouvons le voir, la structure if elif else procède par élimination. Une condition est testée, puis la suivante, puis la suivante…

Elle a donc cette forme:

if (condition):

action 1

elif (condition 2):

action 2

elif (condition 3):

action 3

(…)

else (si aucune des conditions précédentes n’est satisfaite):

action

Un exemple d’usage de elif

Imaginons un concert de rock pour lequel, l’organisateur a établi une fourchette de tarifs. Le prix des places dépend de l’âge du spectateur. Les jeunes et très jeunes, mais aussi les personnes proches de l’âge de la retraite bénéficient de tarifs avantageux. Les autres doivent débourser le prix fort.

Nous pourrions avoir un bloc de code telle que celui-ci:

if âge < 10:

prix_de_la_place = 8

elif âge < 18:

prix_de_la_place = 20

elif âge > 60:

prix_de_la_place = 15

else:

prix_de_la_place = 35

4 spectateurs se présentent au guichet. Arnold a 5 ans et son cas est couvert par la condition spécifiée par if. Tancrède pour sa part a 17 ans et sa situation correspond à la première condition elif. John a 62 ans, et il va donc payer 15 euros conformément à la deuxième condition elif. Enfin, Jane qui a 34 ans tombe dans les autres cas de figures, spécifiés ici avec else et elle va donc devoir payer le prix fort.

Les avantages d'utiliser Python

Ici comme dans d’autres situations, Python nous propose un outil simple d’usage, très clair et rendant aisé de débugger un bloc de code impliquant des expressions conditionnelles. La popularité de Python est dûe à cette capacité de pouvoir écrire des instructions claires, faciles à relire et à déchiffrer et la structure if elif else en est un excellent exemple. On comprend mieux pourquoi tant de développeurs en sont venus à préférer Python à Java…

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?