diff --git a/Notebooks/05b_Les_variables2.ipynb b/Notebooks/05b_Les_variables2.ipynb
index 50b9d1c5b6decb653269e3a449c880dcb21b2e08..59c917fe37cf5fd4e5899ee39e7e1604f57520a4 100644
--- a/Notebooks/05b_Les_variables2.ipynb
+++ b/Notebooks/05b_Les_variables2.ipynb
@@ -188,7 +188,7 @@
    "cell_type": "code",
    "execution_count": 1,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [
     {
@@ -356,7 +356,7 @@
   {
    "cell_type": "markdown",
    "metadata": {},
-   "source": "2. Modifiez le programme précédant afin d’obtenir un programme qui demande à l’utilisateur⋅trice la taille et le nombre de côtés du polygone régulier puis trace ce polygone.\n\nExemple d’exécution du programme: \n\n```\nQuel est la nombre de côtés de votre polygone : 8\nQuel est la taille de votre polygone : 100\n```\nqui devrait générer un hexagone de côté 100:"
+   "source": "2. Modifiez le programme précédant afin d’obtenir un programme qui demande à l’utilisateur⋅trice la taille et le nombre de côtés du polygone régulier puis trace ce polygone.\n\nExemple d’exécution du programme: \n\n```\nQuel est la nombre de côtés de votre polygone : 8\nQuelle est la taille de votre polygone : 100\n```\nqui devrait générer un hexagone de côté 100:"
   },
   {
    "cell_type": "code",
@@ -379,7 +379,7 @@
     "trusted": false
    },
    "outputs": [],
-   "source": "from turtle import *\n\nn = 10\nangle = int(360 / n)\n\nfor k in range(n):\n    forward(100)\n    right(angle)\n\ndone()"
+   "source": "from turtle import *\n\n# à compléter\n\ndone()"
   },
   {
    "cell_type": "markdown",
diff --git a/Notebooks/05b_Les_variables2_corrige.ipynb b/Notebooks/05b_Les_variables2_corrige.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..d7a271dee3541e14e30a2236d9ee589e4c1821f8
--- /dev/null
+++ b/Notebooks/05b_Les_variables2_corrige.ipynb
@@ -0,0 +1,563 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert  alert-danger\"> \n    \n# Cours avec solution\n</div>\n\n<div class = \"alert alert-block alert-warning\"> \n\n### A faire avant de commençer\n**Cliquez sur Exécuter tout** dans le menu **Cellule**.\n</div>"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "# 5.2 Les variables, Types et entrée-sortie"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "## Types de Données\nPython est un langage à typage dynamique, ce qui signifie que vous n'avez pas besoin de spécifier le type de données d'une variable lorsque vous la créez.\n\n\n\n<blockquote class=\"alert alert-info\" style=\"background-color:rgb(220,240,255); margin:10px 10%;\">\n    <p><span style=\"font-size:1.5em\">❔</span> C'est quoi le type d'une variable ? Exécutez la cellule ci-dessous pour voir une petite introduction sur la notion de type d'une variable</p>\n</blockquote>\n\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/5zA8_3YDXb4?si=3V95fi6wa24ddwW_\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\n\n\n### Principaux types de données en Python\n- `int` : pour les nombres entiers\n- `float` : pour les nombres à virgule flottante\n- `str` : pour les chaînes de caractères\n- `bool` : pour les valeurs booléennes (True ou False)\n\n```python\n# Exemple de différents types de données\nentier = 10\nchaine = \"Bonjour\"\nflottant = 12.85\nbooleen = True\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\nQue stocke la variable `pi` dans le code suivant ?\n\n```python\npi = 3.14159\n\n```\n\n<ol style=\"list-style-type: upper-alpha\">\n  <li>Une chaîne de caractères</li>\n  <li>Un entier</li>\n  <li>Un nombre à virgule flottante</li>\n  <li>Une valeur booléenne</li>\n</ol>\n"
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": "Ma réponse: "
+  },
+  {
+   "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\"> \nSolution\n</summary>  \n\n<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">\nC. Un nombre à virgule flottante\n</div>\n</details>"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Question </h3> \n\n \n```\nEn informatique, `int` est l'abréviation pour\n\nA) international\nB) entier\nC) interne\nD) intelligent\n```\n    \n</div>"
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": "Ma réponse: "
+  },
+  {
+   "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\"> \nSolution\n</summary>  \n\n<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">\nB) entier\n</div>\n</details>"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Question </h3> \n\nIndiquez le type des variables (entier, flottant ou chaîne de caractères) permettant de stocker sur votre smartphone les informations suivantes :\n\n- le nom d’un contact\n- le numéro de téléphone d’un contact\n- un SMS\n- le prix d'un croissant\n- le code de votre partage de connexion Wi-Fi\n- le pourcentage _affiché_ de batterie restante\n- ma note à la dernière épreuves de Mathématiques\n\n\n    \n</div>"
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": "Mes réponses :\n\n- le nom d’un contact : \n- le numéro de téléphone d’un contact : \n- un SMS :\n- le prix d'un croissant : \n- le code de votre partage de connexion Wi-Fi : \n- le pourcentage affiché de batterie restante :\n- ma note à la dernière épreuves de Mathématiques : "
+  },
+  {
+   "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\"> \nSolutions\n</summary>  \n\n<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">\n- le nom d’un contact : Une chaîne de caractères\n    \n- le numéro de téléphone d’un contact : Une entier\n    \n- un SMS : Une chaîne de caractères\n    \n- le prix d'un croissant : Un nombre à virgule flottante\n    \n- le code de votre partage de connexion Wi-Fi :  Une chaîne de caractères\n    \n- le pourcentage affiché de batterie restante : Une entier\n    \n- ma note à la dernière épreuves de Mathématiques : Un nombre à virgule flottante\n    \n</div>\n</details>"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "trusted": false
+   },
+   "source": "## Demander à l'utilisateur d'entrer une valeur :  `input` \n\nLa fonction `input('question')` permet de demander une entrée (input) à l'utilisateur.\nL'utilisateur voit le texte `question` affiché à la console et doit répondre à cette question. Il termine son entrée avec la touche Enter.\n\nLa réponse de l'utilisateur est ensuite mémorisée dans une variable que nous appelons `x` dans cet exemple.\nEnsuite, nous pouvons utiliser cette variable `x` dans la suite du programme, par exemple comme argument dans une fonction `print()`.\n"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x = input('Entrez votre nom: ')\nprint('Bonjour', x)"
+  },
+  {
+   "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>\n\nAjoutez une troisième question et utilisez la réponse dans un `print()`.\n\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "nom = input('Entrez votre nom: ')\nprint('Bonjour', nom)\n\nage = input('Entrez votre âge: ')\nprint('Très bien', nom, 'vous avez', age, 'ans')\n\nnationalite = input('Quelle est votre nationalité ')\nprint('Très bien', nom, ', vous avez', age, 'ans, vous a êtes', nationalite)"
+  },
+  {
+   "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>\n\nEcrire un code qui demande à l’utilisateur son prénom dans une première question puis qui demande dans une deuxième question son nom de famille et qui écrit ensuite:<br>\n\t\n    `\"Bienvenue Prénom Nom\"`\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "prenom = input('Entrez votre prenom: ')\nnom = input('Entrez votre nom: ')\nprint('Bienvenue', prenom, nom)"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "## Demander un nombre\n\nLa fonction `input()` permet d'obtenir une entrée de l'utilisateur. Mais attention !\nLa valeur retournée est une chaine de caractères (de type string `str`). Nous pouvons le prouver avec la fonction `type()`.\n"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x = input('Entrez un nombre: ')\nprint(type(x))"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class=\"alert alert-block alert-info\">\n<b>&#9889; A retenir : </b> <br>\nUne variable entrée au clavier par un <i>input</i> est toujours du type <i>str</i> c'est à dire considéré comme une chaine de caractères.\n</ul>\n</div>"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "Pour pouvoir utiliser cette valeur dans un calcul, nous devons la transformer en nombre. Pour convertir une chaine de caractères en un nombre à virgule flottante nous utilisons la fonction de conversion `float()`.\n"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x = '1.5'\nprint(type(x))          # la variable x contient une chaîne\nprint(type(float(x)))   # la fonction float(x) renvoie un nombre"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "### Exemple\n\nOn souhaite avoir un programme qui permet de calculer la moyenne de deux nombres qui sont fournis par l'utilisateur. Tester la proposition de programme suivante:"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "#Demande à l'utilisateur deux nombres puis calcule et affiche leur somme\nnombre1 = input(\"Taper un premier nombre : \")\nnombre2 = input(\"Taper un deuxième nombre : \")\nmoyenne = (nombre1 + nombre2)/2\nprint(\"La somme de ces deux nombres est \",moyenne)"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "On comprend le problème : pour python `nombre1` et `nombre2` sont en fait des chaines de caractères par conséquent, calculer leur moyenne n'a pas de sens ! \n\nPour résoudre ce problème nous devons convertir `nombre1` et `nombre2` en nombre à virgule, cela se fait grâce à l'instruction `float`. Voici le programme corrigé :\n"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "#Demande à l'utilisateur deux nombres puis calcule et affiche leur somme\nnombre1 = float(input(\"Taper un premier nombre : \")) #float() permet de convertir la valeur entrée en flottant\nnombre2 = float(input(\"Taper un deuxième nombre : \")) \nmoyenne = (nombre1 + nombre2)/2\nprint(\"La moyenne de ces deux nombres est \",moyenne)"
+  },
+  {
+   "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>Complétez le programme pour afficher la surface du cercle.\n\n"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "print('Circle')\nr = float(input('Entrez le rayon: '))\npi = 3.14\nprint()\nprint('rayon =', r)\nprint('diamètre =', 2 * r)\nprint('circonférence =', pi * 2 * r)\nprint('surface =', ...)"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "Nous pouvons également créer des programmes où nous demandons plusieurs valeurs à l'utilisateur. Cette fois, nous permettons seulement l'utilisation de nombres entiers, et donc transformons la chaine obtenue avec `int()` en nombre entier.\n\n<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "print('Circle')\nr = float(input('Entrez le rayon: '))\npi = 3.14\nprint()\nprint('rayon =', r)\nprint('diamètre =', 2 * r)\nprint('circonférence =', pi * 2 * r)\nprint('surface =', pi * r**2)"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "\n\n<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 4 </h3>\n\nComplétez le programme pour afficher le périmètre et la diagonale."
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "from math import sqrt\n\nprint('Rectangle')\na = float(input('Entrez la largeur: '))\nb = float(input('Entrez la longueur: '))\n\nprint('surface =', a * b)\nprint('périmètre =', 2*a+2*b)\nprint('diagonale =', sqrt(a**2+b**2))"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "!!! info utiliser des fonctions mathématiques comme la fonction racine carrée $\\sqrt{x}$.\nPour calculer la racine carrée d'un nombre $\\sqrt{x}$, il faut utiliser la fonction `sqrt` du module `math`. Pour ce faire, votre programme doit commencer par `from math import sqrt` (pour importer la fonction `sqrt` du module `math`).  Pour l'utiliser, il suffit de mettre la valeur dont on veut trouver la racine en argument de la fonction `sqrt`. Par exemple, l'instruction `print(sqrt(25))` affichera 5.\n!!!\n\n<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 5 </h3>\n\nChacun des programmes suivants devrait demander à l’utilisateur deux nombres, et écrire le produit de ces deux nombres mais il contient au moins une erreur. Corrigez chacun des programmes puis testez les.\n\n**Programme A** "
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "int(input(\"premier nombre: \"))\nint(input(\"deuxième nombre: \"))\nprint(premier*deuxième)\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# Explications : il faut stoquer les réponses des input dans \n#                des variables\npremier = int(input(\"premier nombre: \"))\ndeuxième = int(input(\"deuxième nombre: \"))\nprint(premier*deuxième)\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "**Programme B**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x=input(\"premier nombre: \")\ny=input(\"deuxième nombre: \")\nx*y"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# Explications : Il faut afficher le résultat \nx= int(input(\"premier nombre: \")) # ajouter le int (ou float)\ny= int(input(\"deuxième nombre: \")) # ajouter le int (ou float)\nprint(x*y) # oubli du print"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "**Programme C**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x=int(\"premier nombre : \")\ny=int(\"deuxième nombre: \")\nz=x*y\nprint(\"z\")"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x=int(input(\"premier nombre : \")) # ajouter un imput\ny=int(input(\"deuxième nombre: \")) # ajouter un imput\nz=x*y\nprint(z) # enlever les guillemets"
+  },
+  {
+   "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>\n\nComplétez le programme Python ci-dessous qui calcule la surface d'un rectangle après avoir demandé sa largeur et sa longueur.\n\n\nIndication: Il faut remplacer les `_____` par ce qu'il convient"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# Programme pour calculer la surface d'un rectangle à partir de sa longueur et de sa largeur\nlongueur = _____(input(\"Entrer la longueur du rectangle : \")) #longueur doit être un flottant utiliser la conversion !\nlargeur = _____(_____(\"Entrer la largeur du rectangle : \"))\nsurface = _______*_________\n_____(\"La surface du rectangle est :\",___________)"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# Programme pour calculer la surface d'un rectangle à partir de sa longueur et de sa largeur\nlongueur = float(input(\"Entrer la longueur du rectangle : \")) #longueur doit être un flottant utiliser la conversion !\nlargeur = float(input(\"Entrer la largeur du rectangle : \"))\nsurface = longueur*largeur\nprint(\"La surface du rectangle est :\",surface)"
+  },
+  {
+   "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>\n\nChacun des programmes devrait demander à l’utilisateur un nombre `n`, et écrire les n premiers multiples de 100. Corriger les erreurs de chaque programme afin qu’il fonctionne.\n\n\n**Programme A** "
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "n = int(input(\"Nombre de multiples: \"))\nfor _ in range(n):\n    print(x)\n    x+100\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "n = int(input(\"Nombre de multiples: \"))\nx = 100 # première valeur de x\nfor _ in range(n):\n    print(x)\n    x = x + 100 # mofifier la veleur de x après avoir calculé\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "**Programme B**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x = int(input(\"Nombre de multiples: \"))\nn = 100\nfor _ in range(x):\n    print(x)\n    x = x+100"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# confusion entre le rôle de x et n\nn = int(input(\"Nombre de multiples: \"))\nx = 100\nfor _ in range(n):\n    print(x)\n    x = x+100"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "**Programme C**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "scrolled": true,
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x = int(input(\"Nombre de multiples: \"))\nn = 100\nfor _ in range(x):\n      print(n)\nn = n+n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x = int(input(\"Nombre de multiples: \"))\nn = 100\nfor _ in range(x):\n    print(n)\n    n = 100+n # problème d'indentation et d'affetation"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "**Programme D**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x = int(input(\"Nombre de multiples:\"))\nn = 100\nfor _ in range(x):\n    print(n)\n    n = n+100"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "**Programme E**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x=int(input(\"Nombre de multiples:\"))\nn = 100\nfor _ in range (x):\n    n = n + 100\n    print(n)\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x=int(input(\"Nombre de multiples:\"))\nn = 0 # METTRE À 0\nfor _ in range (x):\n    n = n + 100\n    print(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 8 </h3>\n\nCompléter le programme Python qui demande à l’utilisateur un mot, et un nombre n et qui écrit n fois de suite le mot donné par l’utilisateur."
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "n = input(...)\nmot = input(...)\nfor #à compléter\n    #à compléter"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "n = int(input(\"Nombre de répétitions : \"))\nmot = input(\"Le mot à répéter : \")\nfor _ in range(n):\n    print(mot)"
+  },
+  {
+   "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>\n\nOn considère le programme suivant:\n\n```python\n\nfrom turtle import *\n\nn = 10\nangle = int(360 / n)\n\nfor k in range(n):\n    forward(100)\n    right(angle)\n    \ndone()\n```\n\n1. Tester le programme ci-dessus, puis modifiez le en définissant une fonction `polygone(lg, n)` qui permet de tracer des polygones réguliers avec `n` côtés et de longueur `lg`. Le programme doit produire la même figure mais en utilisant la fonction  `polygone(lg, n)`."
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "from turtle import *\n\nn = 10\nangle = int(360 / n)\n\nfor k in range(n):\n    forward(100)\n    right(angle)\n\ndone()"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "2. Modifiez le programme précédant afin d’obtenir un programme qui demande à l’utilisateur⋅trice la taille et le nombre de côtés du polygone régulier puis trace ce polygone.\n\nExemple d’exécution du programme: \n\n```\nQuel est la nombre de côtés de votre polygone : 8\nQuelle est la taille de votre polygone : 100\n```\nqui devrait générer un hexagone de côté 100:"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "from turtle import *\n\ndef polygone(lg, n):\n    n = 10\n    angle = int(360 / n)\n\n    for k in range(n):\n        forward(lg)\n        right(angle)\n\nn_cotes = int(input(\"Quel est la nombre de côtés de votre polygone : \"))\nlongueur = int(input(\"Quelle est la taille de votre polygone : \"))\npolygone(longueur, n_cotes)\n        \ndone()\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>\n\nCompléter le programme pour avoir un programme qui demande un nombre à l’utilisateur⋅trice et qui dessine un carré ayant cette longueur comme côté.\n\n"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "from turtle import *\n\nl = int(input(\"La taille de votre carré : \"))\n\nfor _ in range(4):\n    forward(l)\n    right(90)\n\ndone()"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "# 🟥  Fin\n\n<div class=\"alert alert-danger\" style=\"border-left:5px solid #a94442;border-radius: 5px;\">\n    \n- **Ne pas Oublier de sauvegarder son travail.**\n    \n- **Pour effectuer** une sauvegarde personnelle du document obtenu :\n   - utilisez le menu `Fichier / Enregistrer sous…`.\n   - nomez le fichier `variables1.ipynb`\n   - choisissez de sauver votre fichier dans `Documents/1IN/Programmation/Les_variables`.\n\n    </div>\n\n---\n\n#### Remarque générale\n\nCe document c'est inspiré des notebook trouvé sur\n- Les ressources pédagogiques du catalogue modulo https://modulo-info.ch/. \n- Les ressources pédagogiques du [Lycée Mounier](https://info-mounier.fr/snt/python/) \n\nLe notebook 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)"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": ""
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/Notebooks/06_Les_conditions_partie1.ipynb b/Notebooks/06_Les_conditions_partie1.ipynb
index a08d487007ffc9e9e135e367c5e460162619d514..e6bff117cd982c4a43b34f20d997985934ece168 100644
--- a/Notebooks/06_Les_conditions_partie1.ipynb
+++ b/Notebooks/06_Les_conditions_partie1.ipynb
@@ -33,7 +33,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "print(\"10\" > 2)"
@@ -52,10 +52,10 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
-   "source": "a = 5\nb = 18 \nc = 12.3\nmot1=\"Hello\"\nmot2=\"World\"\n# L'instruction suivante va afficher ...\nprint(a > b)\n# L'instruction suivante va afficher ...\nprint(b//a == 3)\n# L'instruction suivante va afficher ...\nprint(b%a == 3)\n# L'instruction suivante va afficher ...\nprint(a - b > 2)\n# L'instruction suivante va afficher ...\nprint(type(c) == float)\n# L'instruction suivante va afficher ...\nprint(mot1 != mot2)\n# L'instruction suivante va afficher ...\nprint(mot1 < mot2)\n# L'instruction suivante va afficher ...\nprint(mot1 > 2)\n# L'instruction suivante va afficher ...\nprint(\"a\" > \"b\")"
+   "source": "a = 5\nb = 18 \nc = 12.3\nmot1=\"Hello\"\nmot2=\"World\"\n# L'instruction suivante va afficher ...\nprint(a > b)\n# L'instruction suivante va afficher ...\nprint(b//a == 3)\n# L'instruction suivante va afficher ...\nprint(b%a == 3)\n# L'instruction suivante va afficher ...\nprint(a - b > 2)\n# L'instruction suivante va afficher ...\nprint(type(c) == float)\n# L'instruction suivante va afficher ...\nprint(mot1 != mot2)\n# L'instruction suivante va afficher ...\nprint(mot1 < mot2)\n# L'instruction suivante va afficher ...\nprint(\"a\" > \"b\")\n# L'instruction suivante va afficher ...\nprint(mot1 > 2)"
   },
   {
    "cell_type": "markdown",
@@ -66,7 +66,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "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"
@@ -93,7 +93,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "x = 2       # affectation\nx == 2      # comparaison\n"
@@ -131,7 +131,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "n = int(input(\"Quelle est ta moyenne générale au premier semestre\"))\n\nif n >= 5.3 :\n    print(\"Bravo, tu peux faire un extra-muros!\")"
@@ -155,7 +155,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "n = int(input('Entrez un nombre: '))\n\nif n > 0:\n    print('positif')\nelse:\n    print('négatif')"
@@ -163,27 +163,32 @@
   {
    "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>\n\n1. Complète le programme ci-dessous qui affiche `C'est un triangle rectancle` ou `Ce n'est pas un triangle rectancle` en fonction des longeurs des côtés du triangle rentré.\n\n*Rappel : Selon la réciproque du théorème de Pythagore, un triangle de longeur $a$, $b$ et $c$ ($c$ le plus grand côté) est rectangle si $a^2+b^2=c^2$*"
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 3 </h3>\n\n1. Complètez le programme ci-dessous qui affiche `C'est un triangle rectancle` ou `Ce n'est pas un triangle rectancle` en fonction des longeurs des côtés du triangle rentré.\n\n2. Testez votre programme pour vérifier si le triangle où a=9, b=12 et c= 15 est un triangle rectangle.\n\n*Rappel : Selon la réciproque du théorème de Pythagore, un triangle de longeur $a$, $b$ et $c$ ($c$ le plus grand côté) est rectangle si $a^2+b^2=c^2$*"
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
-   "source": "a = floatinput((\"La longeur du côté a vaut : \"))\nb = floatinput((\"La longeur du côté a vaut : \"))\nc = floatinput((\"La longeur du côté a vaut : \"))\nif ... :\n    print(\"...\")\nelse:\n    print(\"...\")"
+   "source": "a = float(input(\"La longeur du côté a vaut : \"))\nb = float(input(\"La longeur du côté a vaut : \"))\nc = float(input(\"La longeur du côté a vaut : \"))\nif ... :\n    print(\"...\")\nelse:\n    print(\"...\")"
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": "Le triangle où a=9, b=12 et c= 15 est-il un triangle rectangle?\n\n    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 4 </h3>\n\nComplétez le 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"
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 4 </h3>\n\nComplétez le programme qui demande son âge à l'utilisatrice et affiche `vous êtes majeure` si elle est mineure ou `vous êtes mineure` dans le cas contraire.\n\n*Rappel : la fonction `int` transforme la réponse textuelle du `input` en nombre entier.*\n\n"
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "age = int(input(\"Bonjour, quel est votre âge ?\"))\n\n"
@@ -206,7 +211,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "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"
@@ -220,7 +225,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "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"
@@ -234,10 +239,10 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
-   "source": "# Programme A\na = 7\nb = 12\nif a > 5:\n    b = b - 4\nif b >= 10:\n    b = b + 1"
+   "source": "# Programme A\na = 7\nb = 12\nif a > 5:\n    b = b - 4\nif b >= 8:\n    b = b + 1"
   },
   {
    "cell_type": "raw",
@@ -253,10 +258,10 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
-   "source": "# Programme B\na = 7\nb = 12\nif a > 5:\n    b = b - 4\nelif b >= 10:\n    b = b + 1"
+   "source": "# Programme B\na = 7\nb = 12\nif a > 5:\n    b = b - 4\nelif b >= 8:\n    b = b + 1 "
   },
   {
    "cell_type": "raw",
@@ -272,7 +277,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "# Programme C\na = 7\nb = 12\nif a > 5:\n    b = b - 4\nelse:\n    b = b + 1"
@@ -281,7 +286,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "La variable b vaut :  "
@@ -295,7 +300,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "# Programme D\na = 10\nif a < 5:\n    a = 20\nelif a < 100:\n    a = 500\nelse:\n    a = 0"
@@ -314,7 +319,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "a = 10\nif a == 5:\na = 2"
@@ -328,7 +333,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "a = 10\nelif a == 5:\n    a = 2"
@@ -342,25 +347,11 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "a = 10\nif a = 5:\n    a == 2"
   },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": "**Programme D**"
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {
-    "trusted": true
-   },
-   "outputs": [],
-   "source": "a = 10\nif a == 5:\na = 2"
-  },
   {
    "cell_type": "markdown",
    "metadata": {},
@@ -375,10 +366,10 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
-   "source": "a = float(input(\"Entrer le coefficient a = \"))\nb = float(input(\"Entrer le coefficient a = \"))\nc = float(input(\"Entrer le coefficient a = \"))\ndelta = ...\nif ... :\n    x1 = ...\n    x2 = ...\n    print(\"Deux solutions, x1= \",x1, \"; x2 = \", x2)\nelif ... :\n    x = ...\n    print(\"...\")\nelse :\n    print(\"...\")"
+   "source": "a = ...(input(\"Entrer le coefficient a = \"))\nb = ...(input(\"Entrer le coefficient a = \"))\nc = ...(input(\"Entrer le coefficient a = \"))\ndelta = ...\nif ... :\n    x1 = ...\n    x2 = ...\n    print(\"Deux solutions, x1= \",x1, \"; x2 = \", x2)\nelif ... :\n    x = ...\n    print(\"...\")\nelse :\n    print(\"...\")"
   },
   {
    "cell_type": "raw",
@@ -388,13 +379,13 @@
   {
    "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>\n\nÉcrivez un 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"
+   "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 8 </h3>\n\nÉcrivez un programme qui demande à l'utilisateur·ice s'il faut dessiner un triangle, un cercle ou un carré de dimension 100, puis qui fait le bon dessin.\n\n"
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "from turtle import *\n\n\n\n\n\ndone()"
@@ -408,7 +399,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "def temperature(t):\n    ...\n    \n    \n    \n    \ntemp = int(input(\"Entrez une température entre -20 et 50 : \"))\ntemperature(temp)"
@@ -422,7 +413,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "source": "# programme à compléter\n\n\n"
@@ -436,7 +427,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {
-    "trusted": true
+    "trusted": false
    },
    "outputs": [],
    "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"
diff --git a/Notebooks/06_Les_conditions_partie1_correction.ipynb b/Notebooks/06_Les_conditions_partie1_correction.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..d01bf9682d9013657c9c5f6ae3f2cb3cd5ea90c3
--- /dev/null
+++ b/Notebooks/06_Les_conditions_partie1_correction.ipynb
@@ -0,0 +1,554 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert  alert-danger\"> \n    \n# Cours avec solution\n</div>\n\n<div class = \"alert alert-block alert-warning\"> \n\n### A faire avant de commençer\n**Cliquez sur Exécuter tout** dans le menu **Cellule**.\n</div>"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "deletable": false
+   },
+   "source": "# 6 - Les Conditions, partie 1\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\n<blockquote class=\"alert alert-info\" style=\"background-color:rgb(220,240,255); margin:10px 10%;\">\n    <p><span style=\"font-size:1.5em\">❔</span> C'est quoi une instruction conditionnelle? Exécutez la cellule ci-dessous pour voir une petite introduction sur la notion de type d'instruction conditionnelle</p>\n</blockquote>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/c0cm031r_eo?si=Apy9aC8a9HoHcHfv\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "deletable": false
+   },
+   "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` (vrai) soit `False` (faux).\n\n\n**Remarque** Il est impossible de comparer des données de différentes nature (par exemple une chaîne de caractère avec un nombre)\n\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "editable": false
+   },
+   "source": "<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n \nQu'affiche le programme suivant "
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "print(\"10\" > 2)"
+  },
+  {
+   "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\"> \nRéponse\n</summary>  \n\n<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\"> Une erreur car il est impossible de comparer la chaîne de caractère \"10\" (type str) avec le nombre 2 (type int).\n</div>\n</details>\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>\n\n1. Remplace les `...` de chaque commentaire avec la valeur qui devrait être affichée.\n\n*Indication: chaque print affiche un `bool` : `True` ou `False`*"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "a = 5\nb = 18 \nc = 12.3\nmot1=\"Hello\"\nmot2=\"World\"\n# L'instruction suivante va afficher False\nprint(a > b)\n# L'instruction suivante va afficher True\nprint(b//a == 3)\n# L'instruction suivante va afficher True\nprint(b%a == 3)\n# L'instruction suivante va afficher False\nprint(a - b > 2)\n# L'instruction suivante va afficher True\nprint(type(c) == float)\n# L'instruction suivante va afficher True\nprint(mot1 != mot2)\n# L'instruction suivante va afficher True\nprint(mot1 < mot2)\n# L'instruction suivante va afficher False\nprint(\"a\" > \"b\")\n# L'instruction suivante va afficher une erreur car on ne peut \n# pas comparer une chaîne de caractère avec un nombre\nprint(mot1 > 2)\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "2. Exécute le programme ci-dessus et corrige, si besoin, les commentaires afin qu'ils correspondent aux valeurs affichées\n\n<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> &nbsp; Exercice 2 </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": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "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)\nprint('(x == 5) =', x ==5)\nprint('(x <= 5) =', x <=5)\nprint('(x >= 5) =', x >=5)\nprint('(x > 5) =', x >5)\nprint('(x != 5) =', x !=5)\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": "<h3 style=\"color:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n \nL'expression `x == 2` : \n\n  A) <input type=\"checkbox\" > met la valeur 2 dans la variable x\n    \n  B) <input type=\"checkbox\" > compare deux valeurs\n  \n  C) <input type=\"checkbox\" > affecte la variable x avec une valeur\n    \n  D) <input type=\"checkbox\" > retourne True ou False"
+  },
+  {
+   "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\"> \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": "markdown",
+   "metadata": {},
+   "source": "!!! warning \nIl 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:chocolate;background-color:papayawhip;\" > <i class=\"fa fa-question\" aria-hidden=\"true\"> </i> &nbsp; Quizz </h3> \n \n\n\nQue 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\nEssayer pour voir..."
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "x = 2       # affectation\nx == 2      # comparaison\n"
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": "Ma réponse : "
+  },
+  {
+   "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\"> \nRéponse\n</summary>  \n\n<div style=\"border-left:3px solid #3c763d; border-radius:2pt; color:#3c763d; padding:6px; background-color: #eff0e8\">Si on écrit 2 = x à la place de x = 2 il y aura une erreur car on ne peut affecter x à 2. Dans l'autre cas, c'est égal de tester si x est égal à 2 (x==2) ou de tester si 2 est égal à x (2==x)\n</div>\n</details>\n                "
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "tags": [
+     "breakpoint"
+    ]
+   },
+   "source": "#### Ctrl+enter pour continuer ..........."
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "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": "### 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\n#### Exemple \n\nLe programme suivant demande la moyenne générale obtenue au premier semestre est affiche `Bravo, tu peux faire un extra-muros!\")` si la moyenne est supérieure ou égale à 5.3.\n"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "n = int(input(\"Quelle est ta moyenne générale au premier semestre\"))\n\nif n >= 5.3 :\n    print(\"Bravo, tu peux faire un extra-muros!\")"
+  },
+  {
+   "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\nEn Python, `if` est suivi\n\nA)  <input type=\"checkbox\" > d'un bloc\n\nB)  <input type=\"checkbox\" > d'une condition\n\nC)  <input type=\"checkbox\" > de parenthèses\n\nD)  <input type=\"checkbox\" > d'un deux-points\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\"> \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": "### 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\n#### Exemple 1\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": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "n = int(input('Entrez un nombre: '))\n\nif n > 0:\n    print('positif')\nelse:\n    print('négatif')"
+  },
+  {
+   "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>\n\n1. Complète le programme ci-dessous qui affiche `C'est un triangle rectancle` ou `Ce n'est pas un triangle rectancle` en fonction des longeurs des côtés du triangle rentré.\n\n2. Testez votre programme pour vérifier si le triangle où a=9, b=12 et c= 15 est un triangle rectangle.\n\n*Rappel : Selon la réciproque du théorème de Pythagore, un triangle de longeur $a$, $b$ et $c$ ($c$ le plus grand côté) est rectangle si $a^2+b^2=c^2$*"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "a = float(input(\"La longeur du côté a vaut : \"))\nb = float(input(\"La longeur du côté a vaut : \"))\nc = float(input(\"La longeur du côté a vaut : \"))\nif a**2 + b**2 == c**2 :\n    print(\"C'est un triangle rectancle\")\nelse:\n    print(\"Ce n'est pas un triangle rectange\")"
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": "Le triangle où a=9, b=12 et c= 15 est-il un triangle rectangle?\n\n    Réponse : OUI"
+  },
+  {
+   "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>\n\nComplétez le programme qui demande son âge à l'utilisatrice et affiche `vous êtes majeure` si elle est mineure ou `vous êtes mineure` dans le cas contraire.\n\n*Rappel : la fonction `int` transforme la réponse textuelle du `input` en nombre entier.*\n\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "age = int(input(\"Bonjour, quel est votre âge ?\"))\n\nif age < 18:\n    print(\"Vous êtes mineure\")\nelse:\n    print(\"Vous êtes majeure\")"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "tags": [
+     "breakpoint"
+    ]
+   },
+   "source": "#### Ctrl+enter pour continuer ..........."
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "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": {
+    "trusted": true
+   },
+   "outputs": [],
+   "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.\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 5 </h3>\nPour chacun des programme:\n\n1. Sans exécuter les programme, donnez la valeur des variables demandées. \n2. Vérifier votre réponse en ajoutant un print à la fin des programmes et en les éxecutants.\n\n<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>\n\n**Programme A**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# Programme A\na = 7\nb = 12\nif a > 5:\n    b = b - 4\nif b >= 8:\n    b = b + 1\n    \nprint(b)"
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": "La variable b vaut :  9"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "**Programme B**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# Programme B\na = 7\nb = 12\nif a > 5:\n    b = b - 4\nelif b >= 8:\n    b = b + 1 \n    \nprint(b)"
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": "La variable b vaut :  8"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "**Programme C**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# Programme C\na = 7\nb = 12\nif a > 5:\n    b = b - 4\nelse:\n    b = b + 1\n    \nprint(b)"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "La variable b vaut :  8"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "**Programme D**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# Programme D\na = 10\nif a < 5:\n    a = 20\nelif a < 100:\n    a = 500\nelse:\n    a = 0\n    \nprint(a)"
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": "La variable a vaut :  500"
+  },
+  {
+   "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>\n\nLes programmes suivants sont-ils valides (on ne demande pas ce qu’ils font) ? S’ils sont invalides, corrigez les.\n\n**Programme A**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "a = 10\nif a == 5:\na = 2"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# version corrigée\na = 10\nif a == 5:\n    a = 2 # oubli de l'indentation"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "**Programme B**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "a = 10\nelif a == 5:\n    a = 2"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# version corrigée\na = 10\nif a == 5: # elif seulement possible après un if\n    a = 2"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "**Programme C**"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "a = 10\nif a = 5:\n    a == 2"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "# version corrigée\na = 10\nif a == 5: # confusion = avec ==\n    a = 2"
+  },
+  {
+   "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>\n\n1. Complétez le programme ci-dessous qui demande à l'utilisateur·ice les coefficients d'une équation du second degré $ax^2+bx+c=0$ et qui affiche les solutions.\n\n2. Testez votre programme sur les équations $5x^2-5x-15=0$, $5x^2-5x+15=0$ et $10x^2-20x+10=0$. "
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "!!! info utiliser des fonctions mathématiques comme la fonction racine carrée $\\sqrt{x}$.\nPour calculer la racine carrée d'un nombre $\\sqrt{x}$, il faut utiliser la fonction `sqrt` du module `math`. Pour ce faire, votre programme doit commencer par `from math import sqrt` (pour importer la fonction `sqrt` du module `math`).  Pour l'utiliser, il suffit de mettre la valeur dont on veut trouver la racine en argument de la fonction `sqrt`. Par exemple, l'instruction `print(sqrt(25))` affichera 5.\n!!!\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "a = float(input(\"Entrer le coefficient a = \"))\nb = float(input(\"Entrer le coefficient a = \"))\nc = float(input(\"Entrer le coefficient a = \"))\ndelta = b**2 - 4*a*c\nif delta > 0 :\n    x1 = (-b-delta)/(2*a)\n    x2 = (-b+delta)/(2*a)\n    print(\"Deux solutions, x1= \",x1, \"; x2 = \", x2)\nelif delta == 0 :\n    x = (-b)/(2*a)\n    print(\"Une solution, x=\", x)\nelse :\n    print(\"Aucune solution\")"
+  },
+  {
+   "cell_type": "raw",
+   "metadata": {},
+   "source": "Quel est l'ensemble des solution de 5x²-5x-15=0?\n\n    Réponse: S = {-32, 33}\n    \n    \nQuel est l'ensemble des solution de 5x²+5x+15=0=0?\n\n    Réponse: S = {}\n    \n    \nQuel est l'ensemble des solution de 10x²-20x+10=0?\n\n    Réponse: S = {1}\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>\n\nÉcrivez un programme qui demande à l'utilisateur·ice s'il faut dessiner un triangle, un cercle ou un carré de dimension 100, puis qui fait le bon dessin.\n\n"
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "from turtle import *\n\nforme = input(\"Quelle forme voulez-vous dessiner? \")\n\nif forme == \"triangle\":\n    for _ in range(3):\n        forward(100)\n        left(120)\nelif forme == \"carre\":\n    for _ in range(4):\n        forward(100)\n        left(90)\nelif forme == \"cercle\":\n    circle(100)\nelse:\n    print(\"La forme demandée n'est pas écrite correctement (choix possible triangle/carre*cercle)\")\n        \ndone()"
+  },
+  {
+   "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> \n\nDé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": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "source": "def temperature(t):\n    if t < -5 :\n        print(\"glaciale\")\n    elif t < 10:\n        print(\"froide\")\n    elif t < 20:\n        print(\"normale\")\n    elif t < 35:\n        print(\"chaude\")\n    else:\n        print(\"bouillante\")\n    \ntemp = int(input(\"Entrez une température entre -20 et 50 : \"))\ntemperature(temp)"
+  },
+  {
+   "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> \n\nDé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": "markdown",
+   "metadata": {},
+   "source": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": "Le deuxième !\nLe premier !\nIls sont égaux.\n"
+    }
+   ],
+   "source": "def compare(a,b):\n    if a > b:\n        print(\"Le premier !\")\n    elif a < b:\n        print(\"Le deuxième !\")\n    else:\n        print(\"Ils sont égaux.\")\n\n# test de la fonction\ncompare(3, 8)\ncompare(11, 8)\ncompare(22, 22)"
+  },
+  {
+   "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>\nCorrigez le programme suivant :"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": true
+   },
+   "outputs": [],
+   "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": "<div class = \"alert alert-block alert-warning\"> \n\n### Solution\n</div>"
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "trusted": false
+   },
+   "outputs": [],
+   "source": "age == 18\nrevenu == 25000\n\nif age >= 18\n    if revenu < 25000\n        print(\"Vous êtes éligible à la subvention.\")\n    elif revenu < 26000\n        print(\"Vous êtes presque éligible à la subvention, vous gagnez 1'000.- de trop.\")\n    else:\n        print(\"Vous n'êtes pas éligible à cause de vos revenus trop élevés.\")\nelse:\n    if revenu < 25000\n        print(\"Vous n'êtes pas éligible à cause de votre âge, mais le seriez si vous étiez majeur·e.\")\n    else:\n        print(\"Vous n'êtes pas éligible à cause de vos revenus trop élevés et de votre âge.\")\n   "
+  }
+ ],
+ "metadata": {
+  "celltoolbar": "Éditer les Méta-Données",
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}