II INSTRUCTIONS CONDITIONNELLES (ou TESTS)
A) TEST SIMPLE : si CONDITION alors faire INSTRUCTIONS.
La condition est une proposition (de valeur vrai ou faux) qui peut se traduire en python par une
expression booléenne qui sera notée
COND
. Les instructions peuvent être une instruction simple, ou un
bloc d'instructions (les deux cas sont désignés ici par
BLOC
).
Syntaxe:
if COND:
BLOC
Attention : ":" et passage à la ligne obligatoires après
COND
, ce qui crée automatiquement une
INDENTATION (équivalente à 4 espaces) au début de la ligne suivante, afin de délimiter le bloc. Tout le
bloc devra être indenté de cette manière (4 espaces ou utilisation de la touche de tabulation). L'instruction
suivant éventuellement le bloc n'est plus indentée.
En Python l'indentation est signifiante. Une indentation incorrecte entraîne une erreur.
Dans un éditeur de texte pour Python, le fait d'appuyer sur la touche enter après "
:
" provoque
automatiquement, en plus du passage à la ligne, une indentation équivalente à 4 espaces.
Tout le bloc d'instructions à réaliser si
COND
vaut
True
doit être indenté de cette manière.
La fin du bloc est matérialisée uniquement par un retour en début de ligne (Maj + Tab).
Si l'indentation ne se fait pas, c'est en général parce qu'on a oublié les "
:
"; pour corriger un script déjà
écrit où il manquerait une indentation, taper 4 espaces au début de chaque ligne du bloc ou appuyer sur la
touche de tabulation (Tab); pour supprimer une indentation : Maj + Tab.
Pour indenter (ou dédenter) plusieurs lignes en même temps, on peut aussi les sélectionner avec la souris
et utiliser les commandes Indenter et Dédenter du menu Edition
En principe il vaut mieux utiliser 4 espaces : c'est préférable pour la portabilité des scripts d'une
distribution Python à une autre. (Mais si on ne travaille qu'avec Pyzo cela n'a pas d'importance)
Si une variable apparaît dans l'expression booléenne
COND
, elle doit bien sûr être déclarée avant
l'instruction conditionnelle.
Exemple :
n=int(input('donnez un entier n: '))
if n>=10:
print(n,'est supérieur ou égal à 10')
print(n,'-10=',n-10)
print('terminé!')
Fonctionnement : L'expression booléenne
COND
est évaluée, si sa valeur est
True
, le bloc d'instructions
BLOC
est réalisé, sinon il est ignoré.
Remarque : on peut imbriquer des tests simples :
n=int(input('entier n : '))
if n>=10:
print(n,'est supérieur ou égal à 10')
if n<100:
print('10<=',n,'<100')
print('terminé!')