Conditions en Python
Programmation - 3ème
Conditions en Python
Objectifs
- Comprendre la structure d'une condition avec 'if', 'else' et 'elif'
- Savoir utiliser les opérateurs de comparaison (==, !=, >, <, >=, <=)
- Être capable de créer un programme simple qui réagit à une saisie utilisateur
Introduction
Imaginez un robot qui doit prendre des décisions : avancer si le chemin est libre, s'arrêter devant un obstacle, ou tourner à droite si la gauche est bloquée. En programmation, nous donnons cette capacité de décision à nos programmes grâce aux conditions. Aujourd'hui, nous allons apprendre à faire réagir intelligemment nos scripts Python.
Comment faire en sorte qu'un programme Python prenne des décisions différentes selon les situations ?
La condition simple : 'if' et 'else'
Une condition permet d'exécuter un bloc d'instructions uniquement SI une certaine condition est vérifiée (True). La structure de base en Python utilise le mot-clé 'if' (si), suivi de la condition à tester, de deux points ':', puis d'un bloc d'instructions indenté (décalé vers la droite avec 4 espaces ou une tabulation). Par exemple : `if age >= 18: print("Vous êtes majeur.")`. Si la condition n'est pas vérifiée (False), rien ne se passe. Pour prévoir une alternative, on utilise 'else' (sinon). La structure devient : 'if condition: ... else: ...'. Exemple concret : un programme qui vérifie si un mot de passe saisi est correct. `mot_de_passe = input("Entrez le mot de passe : ")` suivi de `if mot_de_passe == "Python3": print("Accès autorisé !") else: print("Accès refusé.")`. L'opérateur '==' permet de tester l'égalité. Attention à ne pas le confondre avec '=' qui sert à l'affectation (mettre une valeur dans une variable).
Points clés
- 'if' exécute un bloc de code si la condition est vraie (True).
- 'else' exécute un bloc de code alternatif si la condition du 'if' est fausse (False).
- Le bloc de code à exécuter est défini par l'indentation (décalage).
- Les opérateurs de comparaison (==, !=, >, <) renvoient True ou False.
Les conditions multiples : 'elif' et les opérateurs logiques
Parfois, il y a plus de deux possibilités. Pour tester plusieurs conditions à la suite, on utilise 'elif' (contraction de 'else if'). La structure est : if condition1: ... elif condition2: ... elif condition3: ... else: ... . Python teste les conditions dans l'ordre et exécute le bloc de la première condition vérifiée. Exemple : attribuer une mention à une note. `note = 14` puis `if note >= 16: mention = "Très Bien" elif note >= 14: mention = "Bien" elif note >= 12: mention = "Assez Bien" else: mention = "Pas de mention"`. Pour combiner plusieurs tests dans une même condition, on utilise les opérateurs logiques : 'and' (ET), 'or' (OU), 'not' (NON). 'and' est vrai seulement si les deux conditions sont vraies. Exemple : `if age >= 13 and age <= 18: print("Tu es un collégien/lycéen !")`. 'or' est vrai si au moins une des deux conditions est vraie. Exemple : `if reponse == "Oui" or reponse == "oui": print("D'accord !")`. 'not' inverse la valeur logique : `if not porte_ouverte: print("La porte est fermée.")`.
Points clés
- 'elif' permet de chaîner plusieurs tests de conditions.
- L'ordre des tests 'if/elif/else' est important : la première condition vraie arrête l'évaluation.
- 'and' (ET) exige que toutes les conditions soient vraies.
- 'or' (OU) exige qu'au moins une condition soit vraie.
- 'not' (NON) inverse le résultat d'une condition (True devient False et inversement).
Applications pratiques
Mettons cela en pratique avec deux projets concrets. 1) Un vérificateur d'accès à un jeu vidéo. Le programme demande l'âge de l'utilisateur. S'il a moins de 12 ans, il propose le mode 'Enfant'. S'il a entre 12 et 18 ans, il propose le mode 'Adolescent' avec un avertissement. S'il a 18 ans ou plus, il propose le mode 'Adulte'. Sinon, si la saisie n'est pas un nombre valide, il affiche un message d'erreur. 2) Un mini-calculateur intelligent. Il demande deux nombres et une opération (+, -, *, /). Avec des conditions, il vérifie d'abord que l'opération est valide. Ensuite, il effectue le calcul correspondant. Pour la division, il faut ajouter une condition spéciale avec 'if' pour éviter la division par zéro et afficher un message d'erreur approprié au lieu de planter le programme. Ces exercices montrent comment les conditions rendent un programme interactif, robuste et capable de gérer différentes situations.
Points clés
- Toujours convertir les saisies utilisateur (input) en nombres (int() ou float()) pour les comparer.
- Penser à gérer les cas d'erreur (saisie invalide, division par zéro) avec des conditions.
- Structurer son code avec des indentations claires pour bien voir les blocs 'if', 'elif' et 'else'.
À retenir
Les conditions sont fondamentales pour créer des programmes interactifs et intelligents. La structure 'if/elif/else' permet de diriger l'exécution du code en fonction de tests logiques. Les opérateurs de comparaison (==, >, etc.) et logiques (and, or, not) sont les outils pour construire ces tests. En maîtrisant ces concepts, on peut dès maintenant créer des programmes qui réagissent aux saisies de l'utilisateur.
- Une condition commence par 'if', peut avoir des 'elif' et se termine optionnellement par 'else'.
- Le code à exécuter dans chaque cas DOIT être indenté (décalé de 4 espaces).
- Pour tester l'égalité, on utilise DEUX signes égale : '==' et pas un seul '='.
