Alternative de base, opérateurs de comparaison et opérateurs logiques
R03 - Alternative et opérateurs
« Un ensemble d'étapes qui permettent d'accomplir une tâche » (Cormen, 2013, p. 1)
Une suite d'instructions écrites dans un langage de programmation, destinée à être exécutée par un ordinateur pour accomplir une tâche spécifique.
int)float)str)bool)print()input()Convertir d'un type à l'autre : int(), float(), str().
Faire des choix dans un programme
En programmation, une structure d'alternative, également connue sous le nom de structure conditionnelle, est un mécanisme de contrôle du flux d'exécution qui permet à un programme de prendre des décisions en fonction de certaines conditions.
Les structures d'alternative les plus courantes sont les instructions if, else if (ou elif selon le langage) et else. Ces instructions permettent de définir des chemins d'exécution différents en fonction des conditions évaluées.
Le principe de base est simple :
else).Voici la syntaxe générale de la structure conditionnelle en Python :
Les deux-points à la fin de la ligne et l'indentation du bloc ne sont pas décoratifs : c'est ainsi que Python sait où commence et où finit chaque bloc.
Code
Résultat (si l'utilisateur entre 5)
Exemple précédent
Les conditions dans un if sont des expressions booléennes qui retournent soit True, soit False. Les opérateurs couramment utilisés sont :
== != < > <= >=
and or not
Code
Résultat
Les deux conditions doivent être vraies : l'âge et la nationalité.
Code
Résultat
Le else est facultatif : sans lui, le programme ne fait simplement rien quand la condition est fausse.
Comparer deux valeurs
Les opérateurs de comparaison sont utilisés pour comparer deux valeurs et déterminer leur relation.
Ils permettent de répondre à des questions de type :
Exemples
| Opérateur | Description | Exemple (a = 10, b = 5) | Résultat |
|---|---|---|---|
| == | Égal à | a == b | False |
| != | Différent de | a != b | True |
| > | Supérieur à | a > b | True |
| < | Inférieur à | a < b | False |
| >= | Supérieur ou égal à | a >= b | True |
| <= | Inférieur ou égal à | a <= b | False |
= donne une valeur à une variable, == demande si deux valeurs sont égales. C'est la confusion la plus fréquente.
Code
Résultat
Code
Résultat
Combiner plusieurs conditions
Les opérateurs logiques, aussi souvent appelés opérateurs « booléens », permettent de combiner plusieurs conditions et de prendre des décisions plus complexes en fonction de plusieurs critères.
Ils sont utilisés dans des expressions booléennes (retournant soit True, soit False) et sont souvent employés dans les structures de contrôle comme if, while, et les boucles.
En Python, les trois opérateurs logiques principaux sont :
andornotL'opérateur and permet de vérifier si toutes les conditions dans une expression sont vraies.
L'opérateur retourne True si toutes les conditions sont vérifiées, sinon il retourne False.
| a | b | a and b |
|---|---|---|
| False | False | False |
| False | True | False |
| True | False | False |
| True | True | True |
Code
Résultat
Un seul False suffit pour que tout le and soit faux.
L'opérateur or permet de vérifier si au moins une condition dans une expression est vraie.
L'opérateur retourne True si au moins une condition est vérifiée, sinon il retourne False.
| a | b | a or b |
|---|---|---|
| False | False | False |
| False | True | True |
| True | False | True |
| True | True | True |
Code
Résultat
L'âge est insuffisant, mais l'autorisation suffit : un seul True rend tout le or vrai.
L'opérateur not est utilisé pour inverser une valeur booléenne.
Si l'expression initiale retourne True, alors not la transforme en False, et vice-versa.
| a | not a |
|---|---|
| False | True |
| True | False |
Code
Résultat
| Opérateur | Description | Exemple (a = 10, b = 5) | Résultat |
|---|---|---|---|
| and | Vrai si les deux conditions sont vraies | (a > 5 and b > 1) | True |
| or | Vrai si au moins une des conditions est vraie | (a > 15 or b > 1) | True |
| not | Inverse la valeur booléenne | not (a > 5) | False |
On peut combiner plusieurs opérateurs pour formuler des conditions plus complexes.
Code
Résultat
Voici une table de priorité d'évaluation des divers opérateurs Python vus jusqu'à présent :
| Opérateur | Description |
|---|---|
| ( ) | Parenthèses |
| *, /, //, % | Opérateurs arithmétiques - multiplication et division |
| +, - | Opérateurs arithmétiques - addition et soustraction |
| ==, !=, >, >=, <, <= | Opérateurs de comparaison |
| not | Opérateur logique - négation |
| and | Opérateur logique - conjonction |
| or | Opérateur logique - disjonction |
Du plus prioritaire (en haut) au moins prioritaire (en bas). En cas de doute : des parenthèses.
Déterminer si les expressions suivantes retournent True ou False.
| Expression | Résultat |
|---|---|
| 4 > 2 and 3 < 5 | True |
| 7 == 7 or 5 != 5 | True |
| not (10 <= 10) | False |
| ("chat" != "chien") and (2 + 2 == 4) | True |
| (8 >= 8) and (3 > 5) | False |
| (5 < 3) or (7 > 6 and 1 == 1) | True |
| not (5 != 5 or 2 < 1) | True |
| (6 <= 6 or 4 > 9) and (2 + 3 == 5) | True |
Cliquer sur une case grise pour révéler la réponse.
Comparer deux valeurs et déterminer leur relation. == != > < >= <=
Combiner plusieurs conditions, prendre des décisions plus complexes en fonction de plusieurs critères. and or not
Mécanisme de contrôle du flux d'exécution qui permet à un programme de prendre des décisions en fonction de certaines conditions. if else elif
Évaluer des expressions booléennes, puis écrire vos premiers programmes avec if et else : la réussite d'un examen, le plus grand de deux nombres, la parité et l'année bissextile.
Consulter le laboratoire en ligne · Télécharger le calepin (.ipynb)
Pondération : 3 % de la note finale.