python:conditions

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)

<font 10pt/inherit;;inherit;;inherit>n = 12
print("Début")
if n > 10 or n < 0 : #True
print("branche if")</font>
elif n < 5 : #Non testée
   <font inherit/inherit;;inherit;;inherit>print("branche elif")</font>
else :
   <font inherit/inherit;;inherit;;inherit>print("branche else")</font>
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)

<font 10pt/inherit;;inherit;;inherit>n = 4
print("Début")
if n > 10 or n < 0 : #False
print("branche if")</font>
elif n < 5 : #True
   <font inherit/inherit;;inherit;;inherit>print("branche elif")</font>
else :
   <font inherit/inherit;;inherit;;inherit>print("branche else")</font>
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)

<font 10pt/inherit;;inherit;;inherit>n = 8
print("Début")
if n > 10 or n < 0 : #False
print("branche if")</font>
elif n < 5 : #False
   <font inherit/inherit;;inherit;;inherit>print("branche elif")</font>
else :
   <font inherit/inherit;;inherit;;inherit>print("branche else")</font>
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:

<font 10pt/inherit;;inherit;;inherit>n = 12
print("Début")
if n > 10 or n < 0 :
print</font><font inherit/inherit;;inherit;;inherit>(</font><font inherit/inherit;;inherit;;inherit>"branche if"</font><font inherit/inherit;;inherit;;inherit>)</font>

print("Fin")

Ce bloc affiche:

<font 10pt/inherit;;inherit;;inherit>Début
branche if
Fin</font>

mais ce bloc

<font 10pt/inherit;;inherit;;inherit>n = 6
print("Début")
if n > 10 or n < 0 :
print</font><font inherit/inherit;;inherit;;inherit>(</font><font inherit/inherit;;inherit;;inherit>"branche if"</font><font inherit/inherit;;inherit;;inherit>)</font>

print("Fin")

n'affiche que:

<font 10pt/inherit;;inherit;;inherit>Début
Fin</font>
  • python/conditions.1571577581.txt.gz
  • Dernière modification : 2020/07/24 00:23
  • (modification externe)