Aller au contenu

Chapitre 2 - Les conditions

Les structures de contrĂŽle conditionnelles (ou plus simplement conditions) vont nous permettre d’exĂ©cuter diffĂ©rents blocs de code selon qu'une condition spĂ©cifique soit vĂ©rifiĂ©e ou pas.

Nous allons trÚs souvent utiliser les conditions avec des variables : selon la valeur stockée dans une variable, nous allons vouloir exécuter un bloc de code plutÎt qu'un autre.

Dans les conditions, l'expression a toujours une valeur booléenne (True ou False).

Python nous fournit les structures conditionnelles suivantes :

1. La condition if ("si")

    if (expression):    # ne pas oublier le signe de ponctuation ':'
        instructions     # attention Ă  l'indentation
    #suite du programme

Exemple:

chaine = input("Note sur 20 : ")
note = float(chaine)
if note>=10.0:
  print("J'ai la moyenne")
print("Fin du programme")

2. La condition if...else ("si...sinon")

    if (expression):    # ne pas oublier le signe de ponctuation ':'
        instructions1     # attention Ă  l'indentation
    else:
        instructions2
    #suite du programme

Exemple:

chaine = input("Note sur 20 : ")
note = float(chaine)
if note>=10.0:
    # ce bloc est exécuté si l'expression (note>=10.0) est vrai
    print ("J'ai la moyenne")
else:
    # ce bloc est exécuté si l'expression (note>=10.0) est fausse
    print("C'est en dessous de la moyenne")
print("Fin du programme")

Pour traiter le cas des notes invalides (\(<0\) ou \(>20\)), on peut imbriquer des instructions conditionnelles :

chaine = input("Note sur 20 : ")
note = float(chaine)
if note>20.0 or note<0.0:
    # ce bloc est exécuté si l'expression (note>20.0 or note<0.0) est vrai
    print("Note invalide!")
else:
    # ce bloc est exécuté si l'expression (note>20.0 or note<0.0) est fausse
    if note>=10.0:
        # ce bloc est exécuté si l'expression (note>=10.0) est vrai
        print("J'ai la moyenne")
    else:
        # ce bloc est exécuté si l'expression (note>=10.0) est fausse
        print("C'est en dessous de la moyenne")
print("Fin du programme")

3. La condition if...elif...else ("si..."sinon_si"... sinon")

    if (expression):    # ne pas oublier le signe de ponctuation ':'
        instructions1     # attention Ă  l'indentation
    elif:
        instructions2
    elif:
        instructions3
    else:
        instructions4
    #suite du programme

Si l'expression 1 est vraie alors le bloc d'instructions 1 est exécuté, et on passe à la suite du programme.

Si l'expression 1 est fausse alors on teste l'expression 2 :

  • si l'expression 2 est vraie on exĂ©cute le bloc d'instructions 2, et on passe Ă  la suite du programme.

  • si l'expression 2 est fausse alors on teste l'expression 3, etc.

Le bloc d'instructions 4 est donc exécuté si toutes les expressions sont fausses (c'est le bloc "par défaut").

Parfois il n'y a rien Ă  faire.

Dans ce cas, on peut omettre l'instruction else :

    if (expression1):
        instructions1
    elif (expression2):
        instructions2
    elif (expression3):
        instructions3
    # suite du programme

Exemple:

# ce script fait la mĂȘme chose que le programme prĂ©cĂ©dent

note = float(input("Note sur 20 : "))
if note<10.0 and note>0.0:
    print("C'est en dessous de la moyenne")
elif note>=10.0 and note<20.0:  # ou bien : elif 10.0 <= note < 20.0:
    print("J'ai la moyenne")
else:
    print("Note invalide !")
print("Fin du programme")

image.png

4. Exercices

Exercice 2.1 ★

Le numéro de sécurité sociale est constitué de 13 chiffres auquel s'ajoute la clé de contrÎle (2 chiffres).

La clé de contrÎle est calculée par la formule : 97 - (numéro de sécurité sociale modulo 97)

Écrire un script qui contrĂŽle la validitĂ© d'un numĂ©ro de sĂ©curitĂ© sociale.

On pourra utiliser la fonction int()pour convertir le type str en type int.

Exemple :

    >>>
    Entrer votre numéro de sécurité sociale (13 chiffres) --> 1891126108268
    Entrer votre clé de contrÎle (2 chiffres) --------------> 91
    Votre numéro de sécurité sociale est valide.
    >>>
    Entrer votre numéro de sécurité sociale (13 chiffres) --> 2891126108268
    Entrer votre clé de contrÎle (2 chiffres) --------------> 91
    Votre numéro de sécurité sociale est INVALIDE !
    >>>

Exercice 2.2 ★

Écrivez un programme pour trouver un maximum entre trois nombres en utilisant une if-else ou if imbriquĂ©e.

Exercice 2.3 ★

Écrivez un programme pour vĂ©rifier si un nombre est divisible par 3 et 13 ou non, en utilisant if-else.

Exercice 2.4 ★

Écrivez un programme pour vĂ©rifier si un alphabet est une voyelle ou une consonne en utilisant if-else. Les lettres a, e, i, o et u en minuscules et en majuscules sont appelĂ©es voyelles. Les alphabets autres que les voyelles sont appelĂ©s consonnes.

Exercice 2.5 ★

Écrire un script qui demande la note au bac et qui affiche la mention correspondante.

Par exemple:

    >>>
    Note au bac (sur 20) : 13.5
    Bac avec mention Assez Bien
    >>>
    Note au bac (sur 20) : 10.9
    Bac avec mention Passable
    >>>
    Note au bac (sur 20) : 4
    Recalé
    >>>

Exercice 2.6 ★

Écrire un script qui calcule l\'indice de masse corporelle (IMC) d'un adulte et qui en donne l'interprĂ©tation (corpulence normale, surpoids...).

Par exemple :

    >>>
    Votre taille en cm ? 170
    Votre masse en kg ? 68.5
    IMC =  23.7024221453 kg/mÂČ
    Interprétation : corpulence normale
    >>>