Contrôler le flux de code avec une logique conditionnelle (si, elif, sinon)

Terminée

Tip

Pour plus d’informations, consultez l’onglet Texte et images !

Maintenant que votre programme peut évaluer les conditions, vous pouvez les utiliser pour guider les chemins que votre code peut prendre. Python utiliseif, elifet des else instructions pour guider le flux de votre programme en fonction des résultats True ou False. Cette approche est appelée logique conditionnelle.

Instruction if

Une if instruction exécute un bloc de code uniquement lorsqu’une condition est True. Le code à l’intérieur doit être mis en retrait : Python utilise la mise en retrait pour savoir quelles lignes appartiennent au bloc :

score = 85

if score >= 90:
    print("Congratulations!")
    print("Grade: A")

print("Program complete.")

Si score la valeur est inférieure à 90, le code mis en retrait à l’intérieur du if bloc est ignoré et le programme continue avec la ligne suivante après le bloc.

Règles de retrait et de signe deux-points

Python utilise des règles strictes pour regrouper les blocs de code :

  1. Deux-points (:) : vous devez placer un signe deux-points à la fin d’une instruction conditionnelle. Cela indique Python que les lignes mises en retrait suivantes appartiennent à ce bloc conditionnel.

  2. Retrait : Chaque ligne du même bloc doit utiliser la même mise en retrait. Utilisez quatre espaces (ou un onglet) de manière cohérente.

Pour terminer le bloc de code, vous devez annuler la ligne suivante après le bloc. Cette ligne unindente signale à Python que le bloc s’est terminé. Dans l’exemple ci-dessus, la ligne print("Program complete.") est unindente, de sorte qu’elle s’exécute indépendamment de la if condition.

Ajout de chemins d’accès alternatifs avec d’autres

Permet else d’exécuter un autre bloc de code lorsque la condition est False:

score = 75

if score >= 90:
    print("Grade: A")
else:
    print("Grade: B or lower")

Conditions de chaînage avec elif

Lorsque vous avez plus de deux chemins d’accès possibles, vous pouvez utiliser elif (court pour « else if ») pour vérifier les conditions supplémentaires.

Premières victoires de match

Python vérifie chaque condition dans l’ordre. Lorsqu’elle trouve la première True condition, elle exécute ce bloc et ignore le reste. Si aucune des conditions n’est True, elle exécute le else bloc (le cas échéant).

score = 85

if score >= 90:
    print("Grade: A")
elif score >= 80:     # Python stops here! 85 >= 80 is True.
    print("Grade: B")
elif score >= 70:     # Skipped entirely, even though 85 >= 70 is also true.
    print("Grade: C")
else:                 # Skipped entirely.
    print("Grade: D or lower")

Output:

Grade: B

Étant donné que Python quitte la chaîne après la première True condition, veillez à commander vos conditions de la plus spécifique au moins spécifique. Sinon, vous ne pouvez jamais atteindre les conditions attendues.