Les conditions
1. Le Principe des Conditions
En programmation, on demande souvent : "Si ceci est vrai, fais cela ; sinon, fais autre chose." C'est le rôle des conditions.Le programme évalue une expression booléenne (une question dont la réponse est uniquement
True ou False) et agit en conséquence.
L'Indentation : la règle d'or en Python
Contrairement à d'autres langages, Python utilise l'indentation (le décalage vers la droite, généralement 4 espaces) pour délimiter les blocs de code.
Exemple
x
# Ce bloc de code ne fait PAS partie de la conditionvaleur = 10if valeur > 5: # Ce bloc de code est EXÉCUTÉ si la condition est VRAIE print("La valeur est grande") valeur = valeur - 1# Ce bloc de code est exécuté QUOI QU'IL ARRIVE, après la conditionprint("Fin du programme")La valeur est grande
Fin du programme
2. La Structure de Base : if (Si)
Le mot-clé if introduit la condition principale. C'est la seule partie obligatoire d'une structure conditionnelle.
Syntaxe :
if <condition_booléenne>:
<bloc_de_code_à_exécuter_si_VRAI>
Exemples avec des variables
xxxxxxxxxx5
age = 17if age >= 18: print("Vous êtes majeur.") print("Accès autorisé.")Aucune sortie.
Que se passe-t-il ?
- Python évalue la condition :
17 >= 18estFalse. - Le bloc de code indenté (
print("Vous êtes majeur."), etc.) est ignoré. - Rien n'est affiché.
L'Alternative : else(Sinon)
Le mot-clé else permet d'exécuter un bloc de code seulement si la condition if précédente était fausse.
Syntaxe :
if <condition>:
<bloc_de_code_si_VRAI>
else:
<bloc_de_code_si_FAUX>
Exemple if/else
xxxxxxxxxx6
age = 17if age >= 18: print("Vous êtes majeur.")else: print("Vous êtes mineur.")Vous êtes mineur.
Que se passe-t-il ?
- Python évalue la condition :
17 >= 18estFalse. - Le bloc de code sous
ifest ignoré. - Le bloc de code sous
elseest exécuté. - Affiche : "Vous êtes mineur."
4. Les Choix Multiples : elif (Sinon Si)
Le mot-clé elif (contraction de else if) permet de tester une deuxième condition, seulement si la première condition (if) était fausse.
Vous pouvez avoir autant de
elif que nécessaire. L'ordinateur les teste dans l'ordre, du haut vers le bas. Syntaxe :
if <condition_1>:
<bloc_de_code_1>
elif <condition_2>:
<bloc_de_code_2>
elif <condition_3>:
<bloc_de_code_3>
else:
<bloc_de_code_si_AUCUNE_vraie>
Exemple if/elif/else : Notation scolaire
xxxxxxxxxx12
note = 12if note >= 18: print("Excellent !")elif note >= 15: print("Très bien.")elif note >= 12: print("Bien.") # Cette condition est VRAIEelif note >= 10: print("Satisfaisant.")else: print("Insuffisant.")Que se passe-t-il ?
note >= 18(12 >= 18) -> Falseelif note >= 15(12 >= 15) -> Falseelif note >= 12(12 >= 12) -> True- Le programme affiche "Bien." et ignore toutes les lignes suivantes (
elif note >= 10et leelse).
5. Les Opérateurs de Comparaison (Les Expressions Booléennes)
Pour poser vos conditions, vous utilisez les opérateurs de comparaison qui renvoient une valeurTrue ou False.
| Opérateur | Signification | Exemple | Résultat (si a=5, b=10) |
|---|---|---|---|
== |
Est égal à (Attention au double signe !) | a == b |
False |
!= |
Est différent de | a != b |
True |
> |
Strictement supérieur à | a > b |
False |
< |
Strictement inferieur à | a < b |
True |
>= |
Supérieur ou égal à | b >= 10 |
True |
<= |
Inférieur ou égal à | a <= 5 |
True |
6. Les Opérateurs Logiques (Combiner les Conditions)
Pour créer des conditions plus complexes (Niveau NSI), on utilise les opérateurs logiques :and, or, et not.
| Opérateur | Signification | Description |
|---|---|---|
and |
ET | L'expression est True uniquement si les deux conditions sont True. |
or |
OR | L'expression est True si au moins une des deux conditions est True. |
not |
NON | Inverse le résultat de la condition (True devient False, et inversement). |
Exemple avec
and
Si vous voulez qu'une personne soit majeure (>= 18) ET qu'elle ait un permis (True).
Exemple Python
xxxxxxxxxx7
age = 25a_le_permis = Trueif age >= 18 and a_le_permis == True: print("Vous pouvez conduire.")else: print("Vous ne pouvez pas conduire.")
Exemple avec or
Si vous voulez qu'une personne soit acceptée à l'université si elle a soit le Bac S, soit le Bac NSI.
Exemple Python
xxxxxxxxxx6
filiere = "NSI"if filiere == "Bac S" or filiere == "Bac NSI": print("Dossier accepté.")else: print("Dossier en attente.")
Astuce : not et les booléens
Quand vous testez une variable booléenne (qui vaut déjà True ou False), l'écriture est plus simple :
Exemple Python
xxxxxxxxxx5
est_fini = False# Mieux que : if est_fini == False:if not est_fini: print("Le processus n'est pas encore terminé.")Exercices
- Exercice 1 : Le Système de Notation (if/elif/else)
- Exercice 2 : Conditions Multiples (and/or)
- Exercice 3 : La Négation (not)
- Exercice 4 : Vérification d'Éligibilité (Conditions)
- Exercice 5 : Validation de l'Âge et du Jeton (Opérateurs Logiques)
- Exercice 6 : Détermination du Jour de la Semaine (Valeur et Comparaison)