diff --git a/Notebooks/06_Les_conditions.ipynb b/Notebooks/06_Les_conditions.ipynb
index 1de04da512dc963e104f1e74b6d6d3c0b3a18ca6..3cff33fe65e91701033eabbbdb90e23a65a8382e 100644
--- a/Notebooks/06_Les_conditions.ipynb
+++ b/Notebooks/06_Les_conditions.ipynb
@@ -3,878 +3,316 @@
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<div style=\"padding:20px;background-color:papayawhip;\" > \n",
-    "<h3 style=\"color:chocolate\"> <i class=\"fa fa-info\" aria-hidden=\"true\"> </i> &nbsp; Remarque introductive &nbsp;  <i class=\"fa fa-info\" aria-hidden=\"true\"></h3> \n",
-    "<p> Ce fichier est fait pour être lu sur le site <a href=\"https://notebook.basthon.fr/\"><img src='https://notebook.basthon.fr/assets/efede5218c9087496f16.png' style=\"border: 0; display:inline; margin: 0 5px; height:30px\" alt=\"Basthon\"/></a>. <br>\n",
-    "    \n",
-    "Si vous l'avez ouvert avec un autre programme, comme Jupyter notebook, vous riquez de rencontrer quelques bugs. <br>\n",
-    "Veuillez cliquez sur <a href=\"https://notebook.basthon.fr/\">ce lien</a> et y charger ce fichier à l'aide du bouton \"Ouvrir\"  &nbsp; <i class=\"fa fa-folder\" aria-hidden=\"true\"> </i>\n",
-    "</p> </div>    "
-   ]
+   "source": "<div style=\"padding:20px;background-color:papayawhip;\" > \n<h3 style=\"color:chocolate\"> <i class=\"fa fa-info\" aria-hidden=\"true\"> </i> &nbsp; Remarque introductive &nbsp;  <i class=\"fa fa-info\" aria-hidden=\"true\"></h3> \n<p> Ce fichier est fait pour être lu sur le site <a href=\"https://notebook.basthon.fr/\"><img src='https://notebook.basthon.fr/assets/efede5218c9087496f16.png' style=\"border: 0; display:inline; margin: 0 5px; height:30px\" alt=\"Basthon\"/></a>. <br>\n    \nSi vous l'avez ouvert avec un autre programme, comme Jupyter notebook, vous riquez de rencontrer quelques bugs. <br>\nVeuillez cliquez sur <a href=\"https://notebook.basthon.fr/\">ce lien</a> et y charger ce fichier à l'aide du bouton \"Ouvrir\"  &nbsp; <i class=\"fa fa-folder\" aria-hidden=\"true\"> </i>\n</p> </div>    "
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "# Décider - `if`\n",
-    "\n",
-    "Dans ce chapitre, nous allons voir comment un programme peut faire des choix, et comment il peut exécuter du code de façon sélective. Nous allons voir que :\n",
-    "\n",
-    "- le mot-clé `if` permet une exécution conditionnelle,\n",
-    "- le mot-clé `if-else` permet de choisir entre deux alternatives,\n",
-    "- le mot-clé `elif` (else if) permet d'ajouter différentes conditions.\n",
-    "\n"
-   ]
+   "source": "# Les Conditions\n\nDans ce chapitre, nous allons voir comment un programme peut faire des choix, et comment il peut exécuter du code de façon sélective.\n"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n",
-    " \n",
-    "```\n",
-    "En Python, `if` est suivi\n",
-    "\n",
-    "A) d'un bloc\n",
-    "B) d'une condition\n",
-    "C) de parenthèses\n",
-    "D) d'un deux-points\n",
-    "```"
-   ]
+   "source": "## I) Comparaisons\n\nUn programme doit parfois comparer deux valeurs.\nPython connait six types de comparaisons :\n\n- plus petit (`<`),\n- plus petit ou égal (`<=`),\n- égal (`==`),\n- différent (`!=`),\n- plus grand  (`>`),\n- plus grand ou égal (`>=`).\n\nDans des formules mathématiques nous utilisons les symboles ≤,  ≥ et ≠. En Python vous devez utiliser deux symboles: `<=`, `>=` et `!=` à la place.\n\nLe résultat d'une comparaison est une valeur booléenne, soit `True` soit `False`.\n\n\n"
   },
   {
-   "cell_type": "raw",
+   "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "Ma réponse : "
-   ]
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 1 </h3>Testez les lignes ci-dessous et ajoutez des exemples avec les autres 5 comparateurs.\n\n"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# Variable x\nx = 3\nprint('x =', x)\n\n# 6 exemples de comparaisons\nprint('(x < 2) =', x < 2)\n\n\n\n\n"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<details>\n",
-    "<summary style=\"border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8\"> \n",
-    "Réponse\n",
-    "</summary>  \n",
-    "\n",
-    "<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">B) d'une condition\n",
-    "</div>\n",
-    "</details>\n",
-    "                \n"
-   ]
+   "source": "<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n \n```\nL'expression `x == 2`\n\nA) met la valeur 2 dans la variable x\nB) compare deux valeurs\nC) affecte la variable x avec une valeur\nD) retourne True ou False\n```"
   },
   {
-   "cell_type": "markdown",
+   "cell_type": "raw",
    "metadata": {},
-   "source": [
-    "## Comparer\n",
-    "\n",
-    "Un programme doit parfois comparer deux valeurs.\n",
-    "Python connait six types de comparaisons :\n",
-    "\n",
-    "- plus petit (`<`),\n",
-    "- plus petit ou égal (`<=`),\n",
-    "- égal (`==`),\n",
-    "- différent (`!=`),\n",
-    "- plus grand  (`>`),\n",
-    "- plus grand ou égal (`>=`).\n",
-    "\n",
-    "Dans des formules mathématiques nous utilisons les symboles ≤,  ≥ et ≠. En Python vous devez utiliser deux symboles: `<=`, `>=` et `!=` à la place.\n",
-    "\n"
-   ]
+   "source": "Ma réponse : "
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 1 </h3>Ajoutez des exemples avec les autres 5 comparateurs.\n",
-    "\n"
-   ]
+   "source": "<details>\n<summary style=\"border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8\"> \nRéponse\n</summary>  \n\n<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">D) retourne True ou False\n</div>\n</details>\n                "
   },
   {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "x = 3\n",
-      "(x < 2) = False\n"
-     ]
-    }
-   ],
-   "source": [
-    "x = 3\n",
-    "print('x =', x)\n",
-    "print('(x < 2) =', x < 2)\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n",
-    " \n",
-    "```\n",
-    "L'expression `x == 2`\n",
-    "\n",
-    "A) met la valeur 2 dans la variable x\n",
-    "B) compare deux valeurs\n",
-    "C) affecte la variable x avec une valeur\n",
-    "D) retourne True ou False\n",
-    "```"
-   ]
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "\n\n```{caution}\n!! Il ne faut pas confondre l'opérateur d'affectation (`x = 2`) avec l'opérateur de comparaison (`x == 2`) !!\n```\n\n<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 2 </h3>Que se passe-t-il si vous échangez les deux éléments dans `x == 2` ?  \nEt si vous échangez les deux éléments dans `x = 2`  ?\n\n"
   },
   {
-   "cell_type": "raw",
-   "metadata": {},
-   "source": [
-    "Ma réponse : "
-   ]
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x = 2       # affectation\nx == 2      # comparaison\n"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<details>\n",
-    "<summary style=\"border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8\"> \n",
-    "Réponse\n",
-    "</summary>  \n",
-    "\n",
-    "<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">D) retourne True ou False\n",
-    "</div>\n",
-    "</details>\n",
-    "                \n",
-    "```{caution}\n",
-    "!! Il ne faut pas confondre l'opérateur d'affectation (`x = 2`) avec l'opérateur de comparaison (`x == 2`) !!\n",
-    "```\n",
-    "\n",
-    "Le résultat d'une comparaison est une valeur booléenne, soit `True` soit `False`.\n",
-    "\n"
-   ]
+   "source": "## II) Conditions (`if`)\n\nAfin d'exécuter du code de façon sélective, on utilise le mot-clé `if`.\n\nNous allons voir que :\n\n- le mot-clé `if` permet une exécution conditionnelle,\n- le mot-clé `if-else` permet de choisir entre deux alternatives,\n- le mot-clé `elif` (else if) permet d'ajouter différentes conditions.\n\n"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 2 </h3>Que se passe-t-il si vous échangez les deux éléments dans `x == 2` ?  \n",
-    "Et si vous échangez les deux éléments dans `x = 2`  ?\n",
-    "\n"
-   ]
+   "source": "### Exécution conditionnelle `if`\n\nLa structure `if` ci-dessous permet d'exécuter une action seulement si `condition` est `True`.\n\n``` python\nif condition:\n    action\n```\n\nDans notre exemple nous affichons \"Bravo!\" si la valeur entrée est positive.\n"
   },
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "trusted": true
+   },
    "outputs": [],
-   "source": [
-    "x = 2       # affectation\n",
-    "x == 2      # comparaison\n",
-    "print(x)\n",
-    "print(x == 2)\n"
-   ]
+   "source": "n = int(input('Entrez un nombre positif: '))\n\nif n > 0:\n    print('Bravo !')"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "### Êtes-vous majeur ?\n",
-    "\n",
-    "Basé sur votre âge, le programme exécute soit le premier bloc (`if`) soit le  deuxième bloc (`else`).  Il affiche si vous êtes majeur ou pas.\n",
-    "\n"
-   ]
+   "source": "### Choix binaire `if - else`\n\nLa structure `if - else` ci-dessous permet d'exécuter une **action_1** seulement si une **condition** est vraie et une **action_2** sinon : \n\n``` python\nif condition:\n    action_1\nelse:\n    action_2\n```\n\nDans l'exemple ci-dessous, on affiche si un nombre entré est positif ou négatif :\n\n"
   },
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "trusted": true
+   },
    "outputs": [],
-   "source": [
-    "age = input('Entrez votre âge: ')\n",
-    "\n",
-    "if int(age) < 18:\n",
-    "    print('accès interdit - vous êtes mineur')\n",
-    "else:\n",
-    "    print('accès OK - vous êtes majeur')\n"
-   ]
+   "source": "n = int(input('Entrez un nombre: '))\n\nif n > 0:\n    print('positif')\nelse:\n    print('négatif')"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "### Le signe d'un nombre\n",
-    "\n",
-    "Le mot-clé `elif` est une contraction de **else if** et permet de continuer à tester d'autres conditions.\n",
-    "Trouvez le signe d'un nombre.\n",
-    "\n"
-   ]
+   "source": "### Choix multiple (`if - elif - else`)\n\nLe mot-clé `elif` est une contraction de **else if** et permet de continuer à tester d'autres conditions : \n\n``` python\nif condition1 :\n    action_1\nelif condition2 :\n    action_2\nelse:\n    action_3\n```\n\nDans l'exemple ci-dessous, on affiche si un nombre entré est positif, négatif ou nul :\n\n"
   },
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "trusted": true
+   },
    "outputs": [],
-   "source": [
-    "n = input('Entrez un nombre: ')\n",
-    "n = int(n)\n",
-    "\n",
-    "if n > 0:\n",
-    "    print('positif')\n",
-    "elif n < 0:\n",
-    "    print('négatif')\n",
-    "else:\n",
-    "    print('zéro')\n"
-   ]
+   "source": "n = int(input('Entrez un nombre: '))\n\nif n > 0:\n    print('positif')\nelif n < 0:\n    print('négatif')\nelse:\n    print('zéro')\n"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "Sans le mot-clé `elif` nous devrions mettre le bloc `if` à l'intérieur du bloc  `else` en indentation.\n",
-    "Avec multiples conditions, les blocs se décalent de plus en plus et rendent le programme illisible.\n",
-    "\n"
-   ]
+   "source": "Sans le mot-clé `elif` nous devrions mettre le bloc `if` à l'intérieur du bloc  `else` en indentation.\nAvec multiples conditions, les blocs se décalent de plus en plus et rendent le programme illisible, comme ci-dessous.\n\n"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# !!! Exemple à éviter !!!!\nn = int(input('Entrez un nombre: '))\n\nif n > 0:\n    print('positif')\nelse:\n    if n < 0:\n        print('négatif')\n    else:\n        print('zéro')\n"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 3 </h3>Testez le programme avec -2, 0, 3.\n",
-    "\n"
-   ]
+   "source": "<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n \n```\nEn Python, `if` est suivi\n\nA) d'un bloc\nB) d'une condition\nC) de parenthèses\nD) d'un deux-points\n```"
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
+   "cell_type": "raw",
    "metadata": {},
-   "outputs": [],
-   "source": [
-    "n = input('Entrez un nombre: ')\n",
-    "n = int(n)\n",
-    "\n",
-    "if n > 0:\n",
-    "    print('positif')\n",
-    "else:\n",
-    "    if n < 0:\n",
-    "        print('négatif')\n",
-    "    else:\n",
-    "        print('zéro')\n"
-   ]
+   "source": "Ma réponse : "
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "## Visualiser la comparaison\n",
-    "\n",
-    "Dans l'exemple suivant, nous visualisons le résultat des 6 comparateurs en affichant graphiquement le résultat des 6 comparaisons du type `i < n`. \n",
-    "\n",
-    "- La variable `i` va de -9 à 9\n",
-    "- La variable `n` est marquée en rouge\n",
-    "- Le résultat `True ` est exprimé avec un grand point, `False` avec un petit\n",
-    "\n",
-    "Que fait l'expression `'red' if i == n else 'black'` ?\n",
-    "\n",
-    "Elle renvoie `'red'` si `i == n` et `'black'` autrement.\n",
-    "\n"
-   ]
+   "source": "<details>\n<summary style=\"border-left:3px solid #3c763d; border-radius:2pt; width:100%; color:#3c763d; padding:6px; background-color: #dff0d8\"> \nRéponse\n</summary>  \n\n<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">B) d'une condition  (Et ensuite de D), un deux-points)\n</div>\n</details>\n                \n"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 4 </h3>Modifiez la variable `n` et exécutez le code de nouveau.\n",
-    "\n"
-   ]
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 3 </h3>Écrivez un petit programme qui demande son âge à l'utilisatrice et affiche si elle est mineure ou majeure.\n\nRappel : la fonction `int` transforme la réponse textuelle du `input` en nombre entier.\n\n"
   },
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "trusted": true
+   },
    "outputs": [],
-   "source": [
-    "from turtle import *\n",
-    "d = 20      # dimension de base\n",
-    "n = 2       # valeur de comparaison\n",
-    "up()\n",
-    "\n",
-    "for j in range(7):\n",
-    "    for i in range(-10, 10):\n",
-    "        goto(i*d, 100-j*d)\n",
-    "        color('red' if i == n else 'black')\n",
-    "        if i == -10:\n",
-    "            c = ('i', '< n', '<= n', '== n', '!= n', '>= n', '> n')[j]\n",
-    "            write(c, font=(None, d//2), align='right')\n",
-    "        elif j == 0:\n",
-    "            write(i, font=(None, d//2), align='center')\n",
-    "        else:\n",
-    "            result = (0, i<n, i<=n, i==n, i!=n, i>=n, i>n)[j]\n",
-    "            dot(d if result else d/4)\n",
-    "\n",
-    "done()\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Une position aléatoire\n",
-    "\n",
-    "Dans ce chapitre nous allons prendre des décisions basées sur la position `(x, y)` d'un point.\n",
-    "Nous avons donc besoin d'un certain nombre de points, pour ensuite prendre des décisions.\n",
-    "\n"
-   ]
+   "source": "age = int(input(\"Bonjour, quel est votre âge ?\"))\n\n"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 5 </h3>Les variables `w, h` (width, height) représentent largeur et hauteur de la plage rectangulaire des valeurs aléatoires. \n",
-    "Modifiez-les vers `280, 180` et exécutez le code de nouveau.\n",
-    "\n"
-   ]
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 4 </h3>Écrivez un petit programme qui demande à l'utilisateur·ice s'il faut dessiner un triangle, un cercle ou un carré, puis qui fait le bon dessin.\n\n"
   },
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "trusted": true
+   },
    "outputs": [],
-   "source": [
-    "from turtle import *\n",
-    "from random import *\n",
-    "\n",
-    "w, h = 300, 200\n",
-    "d, n = 10, 100\n",
-    "up()\n",
-    "speed(0)\n",
-    "\n",
-    "for i in range(n):\n",
-    "    x, y = randint(-w, w), randint(-h, h)\n",
-    "    goto(x, y)\n",
-    "    dot(d)\n",
-    "\n",
-    "done()\n"
-   ]
+   "source": "from turtle import *\n\n\n\n\n\ndone()"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "## Exécution conditionnelle\n",
-    "\n",
-    "La structure `if` ci-dessous permet d'exécuter une action seulement si `condition` est `True`.\n",
-    "\n",
-    "``` python\n",
-    "if condition:\n",
-    "    action\n",
-    "```\n",
-    "\n",
-    "Dans notre exemple nous affichons un point rouge seulement si x est positif (`x > 0`)\n",
-    "\n"
-   ]
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 5 </h3> \n"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 6 </h3>Ajoutez une deuxième condition `if` pour colorier un point en `lime` si `x < -100`.\n",
-    "\n"
-   ]
+   "source": "Définissez une fonction `temperature()` qui prend en paramètre une température entre -20 et 50 et affiche si cette température est :\n* glaciale\n* froide\n* normale\n* chaude\n* bouillante\n\n(à vous de choisir les bornes de chaque catégorie)\n"
   },
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "trusted": true
+   },
    "outputs": [],
-   "source": [
-    "from turtle import *\n",
-    "from random import *\n",
-    "\n",
-    "w, h = 300, 200\n",
-    "d, n = 10, 100\n",
-    "up()\n",
-    "speed(0)\n",
-    "\n",
-    "for i in range(n):\n",
-    "    x, y = randint(-w, w), randint(-h, h)\n",
-    "    goto(x, y)\n",
-    "    if x > 100:\n",
-    "        dot(2*d, 'red')\n",
-    "    dot(d)\n",
-    "\n",
-    "done()\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## La structure `if else`\n",
-    "\n",
-    "La structure `if else` ci-dessous permet d'exécuter une **action_1** seulement si une **condition** est vraie et une **action_2** autrement\n",
-    "\n",
-    "``` python\n",
-    "if condition:\n",
-    "    action_1\n",
-    "else:\n",
-    "    action_2\n",
-    "```\n",
-    "\n",
-    "Dans l'exemple ci-dessous la condition de test est `y > 0`. \n",
-    "Si cette condition est vraie, le point est colorié en rouge, autrement en bleu.\n",
-    "\n"
-   ]
+   "source": "def temperature(t):\n    ...\n    \n    \n    \n    \ntemp = int(input(\"Entrez une température entre -20 et 50 : \"))\ntemperature(temp)"
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [],
-   "source": [
-    "from turtle import *\n",
-    "from random import *\n",
-    "\n",
-    "w, h = 300, 200\n",
-    "d, n = 20, 300\n",
-    "up()\n",
-    "speed(0)\n",
-    "\n",
-    "for i in range(n):\n",
-    "    x, y = randint(-w, w), randint(-h, h)\n",
-    "    goto(x, y)\n",
-    "    if y > 0:\n",
-    "        dot(d, 'red')\n",
-    "    else:\n",
-    "        dot(d, 'blue')\n",
-    "\n",
-    "done()\n"
-   ]
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 6 </h3> "
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "## L'opération `and`\n",
-    "\n",
-    "L'opération logique `and` permet de connecter deux conditions.\n",
-    "Les deux conditions doivent être vraies pour que l'expression soit vraie.\n",
-    "\n",
-    "Pour accélérer le dessin, nous désactivons l'animation avec `tracer(0)`.\n",
-    "Pour afficher le résultat, nous devons alors appeler la fonction `update()` à la fin.\n",
-    "\n"
-   ]
+   "source": "Définissez une fonction `compare` qui prend en paramètres deux nombres `a` et `b`, puis qui dit lequel est le plus grand :\n- si le premier nombre est plus grand que le deuxième, le programme affichera « Le premier ! »\n- si le deuxième nombre est plus grand que le premier, le programme affichera « Le deuxième ! »\n- s'ils sont égaux, le programme affichera « Ils sont égaux. ».\n\n\nTestez-la avec deux nombres de votre choix."
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "\n\n\n"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 7 </h3>Modifiez le code pour que les points aient une couleur différente dans chaque quadrant.\n",
-    "\n"
-   ]
+   "source": "## Les opérateurs `and`, `or` et `not`\n\nEn plus des comparateurs, les opérateurs `and`, `or` et `not` permettent de manipuler plusieurs conditions : \n* `X and Y` Les deux conditions doivent être vraies pour que l'expression soit vraie.\n* `X or Y` Une des deux conditions doit être vraies pour que l'expression soit vraie.\n* `not X` La condition X doit être fausse pour que l'expression soit vraie.\n\nTestez le code suivant : \n\n"
   },
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "trusted": true
+   },
    "outputs": [],
-   "source": [
-    "from turtle import *\n",
-    "from random import *\n",
-    "\n",
-    "w, h = 280, 180\n",
-    "d, n = 10, 2000\n",
-    "tracer(0)\n",
-    "up()\n",
-    "\n",
-    "for i in range(n):\n",
-    "    x, y = randint(-w, w), randint(-h, h)\n",
-    "    goto(x, y)\n",
-    "    if x > 0 and y > 0:\n",
-    "        dot(d, 'red')\n",
-    "    else:\n",
-    "        dot(d, 'blue')\n",
-    "update()\n",
-    "\n",
-    "done()\n"
-   ]
+   "source": "nombre = 15\nif nombre > 10 and nombre < 20:\n    print(\"Le nombre est entre 10 et 20.\")\n    \n\nif nombre == 5 or nombre == 15:\n    print(\"Le nombre est soit 15 soit 20.\")\n    \nif not nombre > 15:\n    print(\"Le nombre n'est pas supérieur à 15.\")"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "## Région en diagonale\n",
-    "\n"
-   ]
+   "source": "<h6 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-warning\" aria-hidden=\"true\"> </i> &nbsp; Note </h6>\nEn python, pour le premier cas : \n\n``` python\nif nombre > 10 and nombre < 20:\n    print(\"Le nombre est entre 10 et 20.\")\n```\non peut aussi écrire :\n\n``` python\nif 10 < nombre < 20:\n    print(\"Le nombre est entre 10 et 20.\")\n```"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 8 </h3>Modifiez le code pour que les points aient 4 couleurs, divisées par les 2 diagonales.\n",
-    "\n"
-   ]
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 7 </h3>\n"
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [],
-   "source": [
-    "from turtle import *\n",
-    "from random import *\n",
-    "\n",
-    "w, h = 280, 180\n",
-    "d, n = 10, 1000\n",
-    "tracer(0)\n",
-    "up()\n",
-    "\n",
-    "for i in range(n):\n",
-    "    x, y = randint(-w, w), randint(-h, h)\n",
-    "    goto(x, y)\n",
-    "    if x > y:\n",
-    "        dot(d, 'red')\n",
-    "    else:\n",
-    "        dot(d, 'blue')\n",
-    "update()\n",
-    "\n",
-    "done()\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Dans un cercle\n",
-    "\n",
-    "Un cercle est défi par une distance donnée d'un point. \n",
-    "Le cercle autour de l'origine avec un rayon r est donné par la formule\n",
-    "\n",
-    "$ x^2 + y^2 = r^2 $\n",
-    "\n",
-    "Cette formule nous permet de décider si un point aléatoire est à l'intérieur ou à l'extérieur d'un cercle.\n",
-    "\n"
-   ]
+   "source": "Écrire un code qui traduit chacune des situations ci-après. Chaque programme commence par créer une variable pour chaque âge.\n\n**Situation 1 :**  Si Camille est plus âgée qu’Antoinette ou que Bernard et si Antoinette est plus jeune que Bernard, on affiche l’âge d’Antoinette, mais si Antoinette a le même âge ou est plus âgée que Bernard, on affiche l’âge de Bernard.\nSinon on  affiche l’âge de Camille.\n\n \n"
   },
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "trusted": true
+   },
    "outputs": [],
-   "source": [
-    "from turtle import *\n",
-    "from random import *\n",
-    "\n",
-    "w, h = 280, 180\n",
-    "d, n = 10, 2000\n",
-    "tracer(0)\n",
-    "up()\n",
-    "\n",
-    "for i in range(n):\n",
-    "    x, y = randint(-w, w), randint(-h, h)\n",
-    "    goto(x, y)\n",
-    "    if (x**2 + y**2) > 150**2 :\n",
-    "        dot(d, 'red')\n",
-    "    else:\n",
-    "        dot(d, 'blue')\n",
-    "update()\n",
-    "\n",
-    "done()\n"
-   ]
+   "source": ""
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "La fonction `in_circle(p, q, r)` vérifie si le point `p` se trouve\n",
-    "à l'intérieur d'un cercle de rayon `r` qui se trouve à la position `q`.\n",
-    "\n"
-   ]
+   "source": "**Situation 2:**  Si Bernard et Camille ont le même âge, on affiche l’âge de la plus jeune des trois personnes."
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": ""
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 9 </h3>Ajoutez un deuxième cercle avec un rayon r=100, colorié en rouge, qui se trouve à la position (100, -50).\n",
-    "\n"
-   ]
+   "source": "## Exercices récapitulatifs"
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [],
-   "source": [
-    "from turtle import *\n",
-    "from random import *\n",
-    "\n",
-    "w, h = 280, 180\n",
-    "d, n = 10, 2000\n",
-    "tracer(0)\n",
-    "up()\n",
-    "\n",
-    "def in_circle(p, q, r):\n",
-    "    d = (p[0]-q[0])**2 + (p[1]-q[1])**2\n",
-    "    return d < r**2\n",
-    "\n",
-    "for i in range(n):\n",
-    "    p = randint(-w, w), randint(-h, h)\n",
-    "    goto(p)\n",
-    "    if in_circle(p, (-100, 50), 80):\n",
-    "        dot(d, 'lime')\n",
-    "    else:\n",
-    "        dot(d, 'blue')\n",
-    "update()\n",
-    "\n",
-    "done()\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Diagramme de Venne\n",
-    "\n",
-    "Avec les 3 opérateurs logiques:\n",
-    "\n",
-    "- `and`\n",
-    "- `or`\n",
-    "- `not` \n",
-    "\n",
-    "nous pouvons trouver des expressions pour trouver les points qui se trouvent dans l'intersection (`and`) ou dans l'union (`or`) de deux cercles.\n",
-    "\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 10 </h3>Modifiez le code pour que les points appartenant à l'intersection des deux cercles soient dessinés en jaune.\n",
-    "\n"
-   ]
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 8 </h3> \n\n<b style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-warning\" aria-hidden=\"true\"> </i> &nbsp; Rappel : L'opérateur modulo (%) calcule le reste de la division entière.  En conséquence, x % y vaut 0 quand x est divisible par y. <i class=\"fa fa-warning\" aria-hidden=\"true\">  </i> </b> \n\n\nÉcrivez un petit programme qui demande à l'utilisateur·ice un nombre et indique s'il est pair (divisible par 2) ou pas.\n"
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [],
-   "source": [
-    "from turtle import *\n",
-    "from random import *\n",
-    "\n",
-    "w, h = 280, 180\n",
-    "d, n = 10, 2000\n",
-    "tracer(0)\n",
-    "up()\n",
-    "r, q, q2 = 120, (-60, 0), (60, 0)\n",
-    "\n",
-    "def in_circle(p, q, r):\n",
-    "    d = (p[0]-q[0])**2 + (p[1]-q[1])**2\n",
-    "    return d < r**2\n",
-    "\n",
-    "for i in range(n):\n",
-    "    p = randint(-w, w), randint(-h, h)\n",
-    "    goto(p)\n",
-    "    if in_circle(p, q, r) and not in_circle(p, q2, r):\n",
-    "        dot(d, 'lime')\n",
-    "    elif in_circle(p, q2, r):\n",
-    "        dot(d, 'red')\n",
-    "    else:\n",
-    "        dot(d, 'blue')\n",
-    "update()\n",
-    "\n",
-    "done()\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Dans un rectangle\n",
-    "\n",
-    "Dans des programmes interactifs, on doit souvent déterminer si un clic de la souris (x, y) a eu lieu à l'intérieur d'un bouton, qui est normalement une région rectangulaire.\n",
-    "\n",
-    "Pour tester si la valeur $x$ se trouve dans l'intervalle $[x_0, x_1]$ nous devons faire deux comparaisons.\n",
-    "\n",
-    "Python permet de remplacer `(x0 < x) and (x < x1)` par l'expression plus compacte `x0 < x < x1`.\n",
-    "\n"
-   ]
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 9 </h3>\nCorrigez le code suivant :"
   },
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "trusted": true
+   },
    "outputs": [],
-   "source": [
-    "x0, x1 = 5, 10\n",
-    "x = 8\n",
-    "\n",
-    "if x0 < x < x1:\n",
-    "    print(x, \"est entre\", x0, 'et', x1)\n",
-    "else:\n",
-    "    print(x, \"n'est entre\", x0, 'et', x1)\n"
-   ]
+   "source": "age == 18\nrevenu == 25000\n\nif age >= 18\nif revenu < 25000\nprint(\"Vous êtes éligible à la subvention.\")\nelif revenu < 26000\nprint(\"Vous êtes presque éligible à la subvention, vous gagnez 1'000.- de trop.\")\nelse:\nprint(\"Vous n'êtes pas éligible à cause de vos revenus trop élevés.\")\nelse:\nif revenu < 25000\nprint(\"Vous n'êtes pas éligible à cause de votre âge, mais le seriez si vous étiez majeur·e.\")\nelse:\nprint(\"Vous n'êtes pas éligible à cause de vos revenus trop élevés et de votre âge.\")\n   \n"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "La fonction `in_rect(p, x0, x1, y0, y1)` détermine si la position du point `p` est à l'intérieur du rectangle indiqué par les coordonnées `x0, x1, y0, y1`.\n",
-    "\n"
-   ]
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 10 </h3>"
   },
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": [
-    "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 11 </h3>Ajoutez un deuxième rectangle ou les points ont une autre couleur.\n",
-    "\n"
-   ]
+   "source": "Écris une fonction bissextile dont l'argument est une année  n, qui dit si cette année est bissextile (c'est-à-dire qu'elle comporte un 29 février).\nUne année est bissextile dans l'un des cas suivants :\n- c'est un multiple de 4 qui n'est pas un multiple de 100,\n- c'est un multiple de 400.\n\nLe programme doit renvoyer « Année bissextile » ou « Année non bissextile » suivant le cas. "
   },
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "trusted": true
+   },
    "outputs": [],
-   "source": [
-    "from turtle import *\n",
-    "from random import *\n",
-    "\n",
-    "w, h = 280, 180\n",
-    "d, n = 10, 2000\n",
-    "tracer(0)\n",
-    "up()\n",
-    "\n",
-    "def in_rect(p, x0, x1, y0, y1):\n",
-    "    return x0 < p[0] < x1 and y0 < p[1] < y1\n",
-    "\n",
-    "for i in range(n):\n",
-    "    p = randint(-w, w), randint(-h, h)\n",
-    "    goto(p)\n",
-    "    if in_rect(p, 50, 220, -50, 100):\n",
-    "        dot(d, 'lime')\n",
-    "    else:\n",
-    "        dot(d, 'blue')\n",
-    "\n",
-    "update()\n",
-    "\n",
-    "done()\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## À gauche d'une droite\n",
-    "\n",
-    "La fonction `is_left(p, q, q2)` est vraie si le point `p` se trouve à gauche de la droite définie par les deux points (q, q2).\n",
-    "\n"
-   ]
+   "source": ""
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [],
-   "source": [
-    "from turtle import *\n",
-    "from random import *\n",
-    "\n",
-    "w, h = 280, 180\n",
-    "d, n = 10, 2000\n",
-    "tracer(0)\n",
-    "up()\n",
-    "q, q2 = (-160, -100), (60, 0)\n",
-    "\n",
-    "def is_left(p, q, q2):\n",
-    "    return (p[0]-q[0])*(q2[1]-q[1]) - (p[1]-q[1])*(q2[0]-q[0]) < 0\n",
-    "\n",
-    "for i in range(n):\n",
-    "    p = randint(-w, w), randint(-h, h)\n",
-    "    goto(p)\n",
-    "    if is_left(p, q, q2):\n",
-    "        dot(d, 'lime')\n",
-    "    else:\n",
-    "        dot(d, 'blue')\n",
-    "\n",
-    "for p in (q, q2):\n",
-    "    goto(p)\n",
-    "    dot(3*d, 'red')\n",
-    "\n",
-    "update()\n",
-    "\n",
-    "done()\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "La fonction `in_poly(p, poly)` est vraie si le point `p` se trouve à l'intérieur d'un polygone convexe dont les points sont dans l'ordre du sens de l'horloge.\n",
-    "\n"
-   ]
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 11 - Quizz </h3>\n\nCréez un quiz avec des questions à choix multiple sur un sujet de culture générale, dans le style des quiz sur le site Kahoot.\n\n- Complétez pour avoir 4 questions\n- Ajoutez le calcul du score"
   },
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "trusted": true
+   },
    "outputs": [],
-   "source": [
-    "from turtle import *\n",
-    "from random import *\n",
-    "\n",
-    "w, h = 280, 180\n",
-    "d, n = 10, 2000\n",
-    "tracer(0)\n",
-    "up()\n",
-    "\n",
-    "poly = ((-160, -100), (100, 100), (60, -100))\n",
-    "\n",
-    "def is_left(p, q, q2):\n",
-    "    return (p[0]-q[0])*(q2[1]-q[1]) - (p[1]-q[1])*(q2[0]-q[0]) < 0\n",
-    "\n",
-    "def in_poly(p, poly):\n",
-    "    n = len(poly)\n",
-    "    for i in range(n):\n",
-    "        q = poly[i]\n",
-    "        q2 = poly[(i+1)%n]\n",
-    "        if is_left(p, q, q2):\n",
-    "            return False\n",
-    "    return True\n",
-    "\n",
-    "for i in range(n):\n",
-    "    p = randint(-w, w), randint(-h, h)\n",
-    "    goto(p)\n",
-    "    if in_poly(p, poly):\n",
-    "        dot(d, 'lime')\n",
-    "    else:\n",
-    "        dot(d, 'blue')\n",
-    "\n",
-    "for p in poly:\n",
-    "    goto(p)\n",
-    "    dot(3*d, 'red')\n",
-    "\n",
-    "update()\n",
-    "\n",
-    "done()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "---\n",
-    "\n",
-    "#### Remarque générale\n",
-    "\n",
-    "Ce document est une adaptation d'un ressource pédagogique tiré du catalogue modulo https://modulo-info.ch/. Il est sous license Creative Commons [BY-NC-SA](https://creativecommons.org/licenses/?lang=fr)\n",
-    "![Licence Creative Commons](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)\n",
-    "\n",
-    "    "
-   ]
+   "source": "print('Quiz sur le thème : ....')\n\nscore = 0\n\n# Question 1 \nprint()\nquestion = \"Quel est le nom du cowboy dans Toy Story ?\"\nreponse = 'Woody'\n\nreponse = input(question)\nif reponse == solution:\n    ...\nelse:\n    ...\n    \n    \n\n# Question 2\nprint()\n...\n\n\nprint('Votre score est', ...)"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "---\n\n#### Remarque générale\n\nCe document est une adaptation d'un ressource pédagogique tiré du catalogue modulo https://modulo-info.ch/. Il est sous license Creative Commons [BY-NC-SA](https://creativecommons.org/licenses/?lang=fr)\n![Licence Creative Commons](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)\n\n    "
   }
  ],
  "metadata": {
@@ -897,5 +335,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 4
+ "nbformat_minor": 2
 }