Ceci est une ancienne révision du document !
Conditions
n = 6
print("Début")
if n> 10 or n <0 :
print("branche if")
elif n <5 :
print("branche elif")
else :
print("branche else")
print("fin")
donne
Début branche else fin
Si n = 12, l'expression du “if” est vraie. Le programme exécute alors la ou les lignes de ce bloc puis passe à la suite (lignes rouges)
n = 12
print("Début")
if n>; 10 or n <; 0 : #True
print("branche if")
elif n <; 5 : #Non testée
print("branche elif")
else :
print("branche else")
print("fin")
Si n = 4, l'expression du “if” est fausse. Le programme teste donc l'expression du “elif” qui est vraie. Le programme exécute donc la ou les lignes de ce bloc puis passe à la suite (lignes rouges)
n = 4print("Début")if n >; 10 or n <; 0 : #Falseprint("branche if")elif n <; 5 : #Trueprint("branche elif")else :print("branche else")print("fin")
Enfin, si n = 8, l'expression du “if” est fausse. Le programme teste donc l'expression du “elif” qui est fausse aussi. Il n'y a donc plus de conditions à tester, toutes les conditions sont fausses, le programme exécute alors la ou les lignes du bloc “else” puis passe à la suite (lignes rouges)
n = 8print("Début")if n >; 10 or n <; 0 : #Falseprint("branche if")elif n <; 5 : #Falseprint("branche elif")else :print("branche else")print("fin")
Si toutes les expressions booléennes testées sont fausses et qu'il n'y a pas de else, le bloc conditionnel ne fait rien. Ex:
n =12print("Début")ifn >;10or n <;0: print("branche if")print("Fin")
Ce bloc affiche:
Débutbranche ifFin
mais ce bloc
n =6print("Début")ifn >;10or n <;0: print("branche if")print("Fin")
n'affiche que:
DébutFin