5,9 Kio
title | description | published | date | tags | editor | dateCreated |
---|---|---|---|---|---|---|
Python - Conditions et boucles | IF, ELSE, ELIF, WHILE, Comparaisons, etc… | true | 2021-11-17T12:58:56.851Z | markdown | 2021-05-24T16:12:00.664Z |
Structures conditionnelles
IF
La structure conditionnelle IF permet de faire un choix. Cela permet de rendre le code intelligent.
Dans un langage courant, cela donnerait ceci :
Si <réfrigérateur_vide = 1>
Alors Afficher "Faire des courses"
Fin si
En python, cela donnerait :
refrigerateur_vide = 1
if refrigerateur_vide == 1:
print "Faire des courses"
Attention : Dans d'autres langages de programmation tel que le C#, la fonction est délimitée par {}. En python, la fonction commence par : et c'est l'indentation qui délimite. Pour éviter les erreurs, les indentations (généralement faites automatiquement) doivent être 4 espaces et non une tabulation. {.is-warning}
Démonstration :
refrigerateur_vide = 1
if refrigerateur_vide == 1: #Je débute le IF
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é"
IF ELSE
Je peux également grâce au ELSE définir une action si ma condition est fausse.
refrigerateur_vide = 1
if refrigerateur_videv == 1: # Si le frigo est vide, alors ...
print "Faire des courses"
else: # Sinon ...
print "Ne pas faire de courses"
ELIF
Cette condition permet d'avoir plusieurs conditions dans une clause IF.
refrigerateur_vide = 1
if refrigerateur_vide == 1: # Si le frigo est vide, alors ...
print "Faire des courses"
elif refrigerateur_vide == 0.5: # Si le frigo est presque vide, alors ...
print "Faire de petites courses"
else: # Sinon ...
print "Ne pas faire de courses"
Opérateurs de comparaison
Opérateur | Signification |
---|---|
< | Strictement inférieur à |
> | Strictement supérieur à |
<= | Inférieur ou égal à |
>= | Supérieur ou égal à |
== | Égal à |
!= | Différent de |
Pour tester l'égalité de deux valeurs, on utilise == et non = qui lui sert à l'affectation de valeurs {.is-warning}
Une condition renvoie uniquement deux valeurs : True ou False (vrai ou faux). Si le test est correcte, il renverra True, sinon False. {.is-info}
Plusieurs conditions pour une clause IF
Si un test à besoin de plusieurs conditions pour être vrai, on peut combiner plusieurs conditions pour une seule clause IF.
permis=False
majeur=True
if permis == True and majeur == True: # Pour que je puisse conduire, il faut que j'ai mon permis et que je sois majeur
print "Je peux conduire"
else:
print "Je ne peux pas conduire"
Si un test a besoin qu'une condition soit vraie parmi plusieurs, on peut utiliser un “or”.
vote_gagne = False
dictature = True
if (vote_gagne or dictature) == True:
print("Je dirige le pays")
Les boucles
WHILE
La boucle while (ou tant que) répète une série d'instructions tant qu'une condition n'est pas vraie.
Syntaxe :
while condition:
instruction1
instruction2
...
Exemple : Je veux répéter une instruction tant que i n'est pas égal à 10 :
i = 0
while 1 != 10:
print ("i ne vaut pas 10")
i+=1
Il ne faut pas oublier d'incrémenter le compteur, sinon la boucle sera infinie !{.is-warning}
FOR
La boucle for permet de parcourir un élément. En python, la boucle for est plutôt bien faite et assez simple à utiliser. On attribue à une variable la valeur de l'item courant de l'élément, qui changera donc à chaque tour de boucle. Syntaxe :
for variable in element:
instruction1
instruction2
...
Par exemple, si on veut parcourir une liste :
cars = ["Tesla","Mercedes","BMW"]
for car in cars:
print(car)
"""
Attention : 'car' est la variable que l'on vient de déclarer
qui prend la valeur de l'item actuel de la liste 'cars'
"""
Résultat :
>>> "Tesla"
>>> "Mercedes"
>>> "BMW"
La syntaxe "in range"
La boucle for peut aussi être utilisée pour exécuter une action un nombre défini de fois. Au lieu d'utiliser une boucle while en définissant une variable (telle que i=0) et de devoir l'incrémenter en fin de boucle, on peut utiliser la fonction "range".
Fonctionnement de la fonction "range" :
range(début,fin,step)
|- | Début | (optionnel) valeur de début de la plage de valeurs. Par défaut défini à 0 si non précisé | Fin | (requis) valeur de fin de la plage de valeurs. Attention : cette valeur est exclue | Step |(optionnel) Pas d'incrément. Par défaut défini à 1 si non précisé
Utilisation dans la boucle FOR
for i in range(2,8,2):
print(i)
Résultat :
>>> 2
>>> 4
>>> 6
Les instructions Break et Continue
Break
L'instruction "break" permet de stopper une boucle en cours d'exécution. Par exemple, si vous souhaitez parcourir une liste jusqu'à tomber sur une valeur précise, vous pouvez interrompre la boucle.
Exemple :
liste = [1,9,0,3,6]
for i in liste:
print(i)
if i == 0:
print("j'aime pas les 0, j'arrête")
break
Résultat :
>>> 1
>>> 9
>>> 0
>>> "j'aime pas les 0, j'arrête"
Continue
L'instruction "continue" permet de relancer la boucle sans exécuter les instructions suivantes. Cela peut être utilse pour ignorer un élément. Dans notre exemple précédent, nous aurions bien voulu aficher les chiffres après 0.
Exemple:
liste = [1,9,0,3,6]
for i in liste:
if i == 0:
continue
print(i)
Résultat :
>>> 1
>>> 9
>>> 3
>>> 6