{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
Les conditions nous permettent de rendre nos programmes adaptatifs en leur donnant la possibilité de se comporter différemment selon qu'une certaine condition est réalisée ou pas.
instructions A\n",
" Si condition vraie faire :\n",
" instructions B\n",
" Sinon\n",
" instructions C\n",
" instructions D\n",
"if (si) et else (sinon). instructions A\n",
" if condition:\n",
" instructions B\n",
" else:\n",
" instructions C\n",
" instructions D\n",
"| Symbole | Signification |
|---|---|
| == | égal à |
| != | différent de |
| $<$ | strictement supérieur à |
| $>$ | strictement inférieur à |
| $<=$ | inférieur ou égal à |
| $>=$ | supérieur ou égal à |
Attention à la différence entre = et ==
\n",
"Le symbole = est réservé pour l'affectation.
\n",
"Le symbole == sert à comparer deux valeurs, plus précisément à savoir si deux valeurs sont égales.
\n",
"Cette confusion est une importante source de bug chez les débutants en programmation.
else est facultative. On obtient alors la structure suivante :\n",
" Bloc A\n",
" Si condition vraie faire :\n",
" Bloc B\n",
" Bloc C\n",
"\n",
"Ainsi, si la condition est vraie, on effectuera les blocs A-B-C.else. \n",
"Comme on peut le voir en exécutant les trois cellules ci-dessous, des expressions comme 7>4 ou 8<2 ont une valeur d'un nouveau type appelé le type booléen.
Une variable booléenne ne peut prendre que deux valeurs : True ou False
\n", "True signifie \"Vrai\", False signifie \"Faux\".
\n", "Le mot \"booléen\" provient de George Boole (1815-1864), un mathématicien et logicien anglais qui a créé l'algèbre binaire, aujourd'hui appelée algèbre booléenne. Cette algèbre booléenne permet de traduire des raisonnements logiques par des calculs algébriques.
" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "trusted": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "7 > 4" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "trusted": false }, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "8 < 2" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "trusted": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "if doit toujours être une valeur ou une variable de type booléen :"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"trusted": false
},
"outputs": [],
"source": [
"majeur = True # ou False\n",
"if majeur == True:\n",
" print(\"Vous êtes majeur.\")\n",
"else:\n",
" print(\"Vous êtes mineur\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"trusted": true
},
"source": [
"Syntaxe raccourcie des conditionsmajeur == True est en fait un booléen qui vaut True ou False selon la valeur de la variable majeur.if majeur == True:if majeur:else if en une seule ligne elif.| Moyenne | $[0;8[$ | $[8;10[$ | $[10;12[$ | \n", "$[12;14[$ | $[14;16[$ | $[16;18[$ | $[18;20]$ | \n", "
| Mention | Recalé | Rattrapage | Sans mention | Assez bien | \n", "Bien | Très bien | Félicitations | \n", "
and, or et not.| Mot-clé | En Français | Nom | Description |
|---|---|---|---|
and | et | conjonction | c1 and c2 est vraie lorsque $c_1$ et $c_2$ sont toutes les deux vraies |
or | ou | disjonction | c1 or c2 est vraie lorsqu'au moins une des deux conditions $c_1$ ou $c_2$ est vraie |
not | non | négation | not c est vraie lorsque $c$ est fausse |
| $c_1$ | $c_2$ | $c_1$ and $c_2$ | $c_1$ or $c_2$ | not $c_1$ |
|---|---|---|---|---|
| Vrai | Vrai | Vrai | Vrai | Faux |
| Vrai | Faux | Faux | Vrai | Faux |
| Faux | Vrai | Faux | Vrai | Vrai |
| Faux | Faux | Faux | Faux | Vrai |
3 < x < 7 au lieu de 3 < x and x < 7."
]
},
{
"cell_type": "markdown",
"metadata": {
"trusted": true
},
"source": [
"**Nouvelle résolution du problème du pass sanitaire**\n", " Structure conditionnelle complète :\n", "
\n", "\n",
"if condition:\n",
" instructions A \n",
"else:\n",
" instructions B \n",
"\n",
" La clause else est facultative.
\n",
" Pour des conditions imbriquées, le mot-clé elif est une abréviation de else if.\n",
"
\n",
" Exemples de conditions :
\n",
"
x >= 3 # x supérieur ou égal à 3\n",
"x == 3 # x est égal à 3\n",
"x != 3 # x n'est pas égal à 3\n",
"\n",
" \n",
"\n",
" Type booléen :
\n",
" Une variable de type booléen ne peut prendre que deux valeurs : True (vrai) et False (faux)
\n",
" On dispose donc maintenant de quatre type de valeurs en Python : int (entier), float (flottant), str (chaîne de caractères) et bool (booléen).\n",
"
\n",
" Opérateurs booléens :
\n",
" Les principaux opérateurs booléens sont : and (et), or (ou) et not (non). Voici leur table de vérité : \n",
"
| $c_1$ | $c_2$ | $c_1$ and $c_2$ | $c_1$ or $c_2$ | not $c_1$ |
|---|---|---|---|---|
| Vrai | Vrai | Vrai | Vrai | Faux |
| Vrai | Faux | Faux | Vrai | Faux |
| Faux | Vrai | Faux | Vrai | Vrai |
| Faux | Faux | Faux | Faux | Vrai |