Instructions conditionnelles = if elif else

MéthodeUtilisation

instruction test:

Exemple :

1
if a==b :
2
else :

FondamentalIndentation

---Toutes les instructions à effectuer devront être décalées vers la droite de la même façon = indentation

1 niveau d'indentation = 1 bloc

SyntaxeSi simple : 1 seul test if... (avec ou sans else...)

Un programme qui demande la somme des achats effectués par un client.

Si la sommes est strictement supérieure à 100, le prix à payé est réduit de 10%

1
achats=int(input('Total achats ? '))   # déclaration de la variable achats, 
2
                                       # attente d'une entrée de type int/integer/entier
3
4
prix=achats                            # déclaration et initialisation 
5
                                       # de la variable prix de valeur achats (par défaut)
6
7
if achats>100:                         # Bloc 1 : achats > 100 ?
8
    prix=achats-achats*10/100             # Si Oui réduction de 10% 
9
                                          # la valeur de prix devient achats-achats*10/100
10
11
print('Prix à payer = ', prix)

ou

1
achats=int(input('Total achats ? '))   # déclaration de la variable achats, 
2
                                       # attente d'une entrée de type int/integer/entier
3
4
if achats>100:                  # Bloc 1 : achats > 100 ?
5
    prix=achats-achats*10/100       # Si Oui déclaration et initialisation 
6
                                    # de la variable prix de valeur achats-achats*10/100
7
else:                           # Sinon Bloc 2 :
8
    prix=achats                     # déclaration et initialisation de la variable prix de valeur achats
9
10
print('Prix à payer = ', prix)

Autre possibilité : tester le prix <= 100 ?

Réorganisation du programme !

1
achats=int(input('Total achats ? '))   # déclaration de la variable achats, attente d'une entrée
2
3
if achats<=100:                 # Bloc 1 : achats <= 100 ?
4
    prix=achats                      # déclaration et initialisation de la variable prix de valeur = achats par défaut
5
else:                           # Sinon Bloc 2 :
6
    prix=achats-achats*10/100        # déclaration et initialisation 
7
                                     # de la variable prix de valeur = achats-achats*10/100
8
9
print('Prix à payer = ', prix)

Exemple

Les 3 programmes suivant produisent des résultats identiques.

Seulement, le changement d'instructions amène des modifications dans l'organisation du programme.

SyntaxeSi imbriqués : plusieurs tests if...

1
achats=int(input('Total achats ? '))   # déclaration de la variable achats, attente d'une entrée
2
prix=achats                            # déclaration et initialisation de la variable prix (valeur = achats par défaut)
3
4
if achats>100:                         # Bloc 1 : achats > 100 ?
5
    prix=achats-achats*10/100             # Si Oui réduction de 10% 
6
                                          # la valeur de prix devient achats-achats*10/100 
7
    if achats>200:                        # Bloc 2 (fait partie du bloc 1) : achats > 200 ?
8
         prix=achats-achats*20/100           # Si Oui réduction de 20% 
9
                                             # la valeur de prix devient achats-achats*20/100 
10
11
print('Prix à payer = ', prix)

Syntaxeif ... else...

1
achats=int(input('Total achats ? '))   # déclaration de la variable achats, attente d'une entrée
2
                           
3
if achats>100:                         # Test 1 : achats > 100 ?
4
    prix=achats-achats*10/100             # Si Oui Bloc 1 : 
5
                                          # réduction de 10% 
6
                                          # la valeur de prix devient achats-achats*10/100 
7
else:                                  # Sinon Bloc 2 :
8
    if achats>200:                        # Test 2 : achats > 200 ?
9
         prix=achats-achats*20/100        # Si Oui Bloc 3 (fait partie du Bloc 2) : 
10
                                             # réduction de 20% 
11
                                             # la valeur de prix devient achats-achats*20/100
12
    else:                                 # Sinon Bloc 4 (fait partie du Bloc 2) :
13
         prix=achats                         # prix devient achats
14
15
print('Prix à payer = ', prix)

Syntaxeif ... elif ...else...

1
achats=int(input('Total achats ? '))   # déclaration de la variable achats, attente d'une entrée
2
                           
3
if achats>200:                         # Test 1 : achats > 100 ?
4
    prix=achats-achats*20/100             # Si Oui au Test 1 Bloc 1 :
5
                                          # réduction de 10% 
6
                                          # la valeur de prix devient achats-achats*10/100 
7
elif achats>100:                       # Sinon Test 2 : achats > 200 ?
8
    prix=achats-achats*10/100             # Si Oui au Test 2 Bloc 2 : réduction de 20% 
9
                                          # la valeur de prix devient achats-achats*20/100 
10
else:                                  # Sinon :
11
    prix=achats                           # Bloc 3 (fait partie du bloc 2) 
12
                                          # la valeur de prix devient achats
13
14
print('Prix à payer = ', prix)