Voila le moment de prendre des décisions !
En effet, suivant la valeur que prend telle ou telle variable, il est souvent nécessaire de faire exécuter au programme une suite différente d'instructions ...
En Python, comme dans de très nombreux langages, un test se fait avec l'instruction if
( ='si' ).
if (condition) :
Instruction 1
Instruction 2
....
...qui peut se traduire par :
"SI la condition est VRAIE,
alors exécuter les instructions 1, 2,..."
if (condition) :
Instruction 1
Instruction 2
....
else :
Instruction 3
Instruction 4
....
...qui peut se traduire par :
"SI la condition est VRAIE,
alors exécuter le bloc d'instructions 1, 2,...
SINON, dans les autres cas ( donc, si la condition est fausse ),
exécuter le bloc d'instructions 3, 4,..."
if (condition A) :
Instruction 1
Instruction 2
....
elif (condition B) :
Instruction 3
Instruction 4
....
else :
Instruction 5
Instruction 6
....
...qui peut se traduire par :
"SI la condition A est VRAIE,
alors exécuter le bloc d'instructions 1, 2,...
SINON SI la condition B est VRAIE,
alors exécuter le bloc d'instructions 3, 4,...
SINON, dans tous les autres cas ( donc, si aucune des conditions précédentes n'est vraie ),
exécuter le bloc d'instructions 5, 6,..."
La condition est une expression, plus ou moins complexe, à évaluer à l'aide d'opérateurs de comparaison :
Opérateur | Signification | Commentaire |
---|---|---|
== |
égal à | ATTENTION : il s'agit bien d'un DOUBLE SIGNE ÉGAL... C'est une erreur classique de ne mettre qu'un seul égal, qui est l'instruction d'affectation ( qui est donc, elle, toujours vraie !!! ) |
!= |
différent de | |
> |
supérieur à | |
< |
inférieur à | |
>= |
supérieur ou égal à | |
<= |
inférieur ou égal à |
Exemples :
if ( moyenne == 10 ) :
if ( nombreEleve > 35 ) :
if ( numero != 12 ) :
if ( 'a' in mot ) :
Plusieurs conditions peuvent être évaluées en même temps, en utilisant les opérateurs and
( ET ) et or
( OU ).
Exemples :
if ( valeur1 > 2 ) or ( valeur2 != 10 ) :
"si valeur1 est supérieure à 2 OU valeur2 est différente de 10,....."
if ( monAge >=18) and ( monAge <=65 ) :
"si monAge est supérieure ou égale à 18 ET inférieure ou égale à 65"
Que s'affiche-t-il à la fin de l'exécution de chacun des scripts suivants ?
Écrire ci-dessous un programme qui demande de saisir 2 valeurs et qui affiche la plus petite des 2 valeurs.