2021-05-24 18:12:02 +02:00
<!--
title: Python - Conditions et boucles
description: IF, ELSE, ELIF, WHILE, Comparaisons, etc…
published: true
2021-06-08 09:49:02 +02:00
date: 2021-06-08T07:49:00.873Z
2021-05-24 18:12:02 +02:00
tags:
editor: ckeditor
dateCreated: 2021-05-24T16:12:00.664Z
-->
< figure class = "image image_resized" style = "width:58.86%;" > < img src = "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Python_logo_and_wordmark.svg/1200px-Python_logo_and_wordmark.svg.png" alt = "Fichier:Python logo and wordmark.svg — Wikipédia" > < / figure >
< h1 > Structures conditionnelles< / h1 >
< h2 > IF< / h2 >
< p > La structure conditionnelle < strong > IF< / strong > permet de faire un < strong > choix< / strong > . Cela permet de rendre le code < i > intelligent< / i > .< br > Dans un langage courant, cela donnerait ceci :< / p >
< pre > < code class = "language-plaintext" > Si < réfrigérateur_vide = 1>
Alors Afficher "Faire des courses"
Fin si< / code > < / pre >
< p > En python, cela donnerait :< / p >
< pre > < code class = "language-python" > refrigerateur_vide = 1
2021-06-08 09:49:02 +02:00
if refrigerateur_vide == 1:
2021-05-24 18:12:02 +02:00
print "Faire des courses"< / code > < / pre >
< p > < / p >
< blockquote >
< p > < strong > Attention :< / strong > Dans d'autres langages de programmation tel que le < strong > C#< / strong > , la fonction est délimitée par < strong > {}< / strong > . En python, la fonction commence par < strong > :< / strong > et c'est l'indentation qui délimite.< / p >
< / blockquote >
< p > < i > Démonstration :< / i > < / p >
< pre > < code class = "language-python" > refrigerateur_vide = 1
2021-06-08 09:49:02 +02:00
if refrigerateur_vide == 1: #Je débute le IF
2021-05-24 18:12:02 +02:00
print "Aller faire des courses" # Je suis dans le IF
print "Je suis encore de le IF"
print "Ici aussi"
print "Ici non, mon IF est terminé"< / code > < / pre >
< p > < / p >
< h2 > IF ELSE< / h2 >
< p > Je peux également grâce au < strong > ELSE< / strong > définir une action si ma condition est fausse.< / p >
< pre > < code class = "language-python" > refrigerateur_vide = 1
2021-06-08 09:49:02 +02:00
if refrigerateur_videv == 1: # Si le frigo est vide, alors ...
2021-05-24 18:12:02 +02:00
print "Faire des courses"
else: # Sinon ...
print "Ne pas faire de courses"< / code > < / pre >
< p > < / p >
< h2 > ELIF< / h2 >
< p > Cette condition permet d'avoir < strong > plusieurs conditions< / strong > dans une clause IF.< / p >
< pre > < code class = "language-python" > refrigerateur_vide = 1
2021-06-08 09:49:02 +02:00
if refrigerateur_vide == 1: # Si le frigo est vide, alors ...
2021-05-24 18:12:02 +02:00
print "Faire des courses"
2021-06-08 09:49:02 +02:00
elif refrigerateur_vide == 0.5: # Si le frigo est presque vide, alors ...
2021-05-24 18:12:02 +02:00
print "Faire de petites courses"
else: # Sinon ...
print "Ne pas faire de courses"< / code > < / pre >
< p > < / p >
< h2 > Opérateurs de comparaison< / h2 >
< figure class = "table" >
< table style = "background-color:rgb(255, 255, 255);" >
< thead >
< tr >
< th style = "background-color:rgb(239, 241, 243);border-bottom:2px solid rgb(158, 158, 158);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > < strong > Opérateur< / strong > < / th >
< th style = "background-color:rgb(239, 241, 243);border-bottom:2px solid rgb(158, 158, 158);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > < strong > Signification< / strong > < / th >
< / tr >
< / thead >
< tbody >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > < < / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Strictement inférieur à< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > > < / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Strictement supérieur à< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > < =< / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Inférieur ou égal à< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > > =< / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Supérieur ou égal à< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > ==< / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Égal à< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > !=< / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Différent de< / td >
< / tr >
< / tbody >
< / table >
< / figure >
< blockquote >
< p > < strong > Attention :< / strong > Pour tester l'égalité de deux valeurs, on utilise < strong > ==< / strong > et non < strong > =< / strong > qui lui sert à l'affectation de valeurs< / p >
< / blockquote >
< blockquote >
< p > < strong > Info :< / strong > Une condition renvoie uniquement deux valeurs : < strong > True< / strong > ou < strong > False< / strong > (vrai ou faux). Si le test est correcte, il renverra < strong > True< / strong > , sinon < strong > False< / strong > .< / p >
< / blockquote >
< p > < / p >
< h2 > Plusieurs conditions pour une clause IF< / h2 >
< p > Si un test à besoin de plusieurs conditions pour être vrai, on peut combiner plusieurs conditions pour une seule clause IF.< / p >
< pre > < code class = "language-python" > permis=False
majeur=True
2021-06-08 09:49:02 +02:00
if permis == True and majeur == True: # Pour que je puisse conduire, il faut que j'ai mon permis et que je sois majeur
2021-05-24 18:12:02 +02:00
print "Je peux conduire"
else:
print "Je ne peux pas conduire"< / code > < / pre >
< p > < / p >
< h1 > Les boucles< / h1 >
< h2 > La boucle < strong > WHILE< / strong > < / h2 >
< p > La boucle < strong > while< / strong > (ou tant que) répète une série d'instructions tant qu'une condition n'est pas vraie.< br > Syntaxe :< / p >
< pre > < code class = "language-python" > while condition:
instruction1
instruction2
...< / code > < / pre >
< p > < i > Exemple : Je veux répéter une instruction tant que i n'est pas égal à 10 :< / i > < / p >
< pre > < code class = "language-python" > i = 0
while 1 != 10:
print ("i ne vaut pas 10")
i+=1< / code > < / pre >
< p > < / p >
< blockquote >
< p > < strong > Attention< / strong > : Il ne faut pas oublier d'incrémenter le compteur, sinon la boucle sera infinie !< / p >
< / blockquote >
< p > < / p >