diff --git a/2nd/13_Programmation/1E_tour_d_horizon.ipynb b/2nd/13_Programmation/1E_tour_d_horizon.ipynb
index ff17ea6..376a057 100644
--- a/2nd/13_Programmation/1E_tour_d_horizon.ipynb
+++ b/2nd/13_Programmation/1E_tour_d_horizon.ipynb
@@ -1 +1,275 @@
-{"cells":[{"metadata":{},"cell_type":"markdown","source":"# Étape 1: Tour d'horizon\n\n"},{"metadata":{},"cell_type":"markdown","source":"## Decrire un programme\n\nCi-dessous, vous retrouverez des programmes. Vous devez les executer. Puis écrire une phrase par ligne de programme pour décrire ce qu'elle fait."},{"metadata":{},"cell_type":"markdown","source":"### Programme 1"},{"metadata":{"trusted":false},"cell_type":"code","source":"print(\"Hello les 2nd\")\na = 2\nprint(a + a)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Description"},{"metadata":{},"cell_type":"raw","source":""},{"metadata":{},"cell_type":"markdown","source":"### Programme 2"},{"metadata":{"trusted":false},"cell_type":"code","source":"age = int(input(\"Quel age as-tu?\"))\nif age >= 18:\n print(\"Tu es majeur, tu peux passer ton permis\")\nelse:\n print(\"Tu es mineur\")\n \n print(\"Il te reste \", 18 - age, \"ans avant de pouvoir passer le permis\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Description"},{"metadata":{},"cell_type":"raw","source":""},{"metadata":{},"cell_type":"markdown","source":"### Programme 3\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"def f(x):\n resultat = x^2 + 2\n return resultat\nprint(f(0))\nprint(f(10))","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Description"},{"metadata":{},"cell_type":"raw","source":""},{"metadata":{},"cell_type":"markdown","source":"## Modifier le programme de la momie\n\n\nOuvrez le programme édupython \n\nCi-dessous, vous avez un programme qui code un jeu de hazard. \n\n**Copier puis coller tout le programme dans édupython** puis lancer quelques parties pour comprendre ce que faire ce jeux.\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"# Programme de la momie - tiré du livre les maths ensembles et pour chacun\nfrom random import randint\n\ndef choisir_porte(nombre_portes):\n print(\"Il y a \" + str(nombre_portes) + \" portes devant toi.\")\n porte_choisie = int(input( \"Laquelle ouvres-tu?\"))\n return porte_choisie\n \n \nnombre_portes = 3\npoints_de_vie = 5\nscore = 0\ndegat_momie = 3\n\nwhile points_de_vie > 0:\n print(\"Tu arrives dans un long couloir et tu avances. Jusqu'à ce que...\")\n porte_momie = randint(0, nombre_portes)\n porte_choisie = choisir_porte(nombre_portes)\n if porte_choisie == porte_momie:\n print(\"Une momie attaque!\")\n for i in range(degat_momie):\n print(\"Elle te touche une fois\")\n points_de_vie = points_de_vie - 1\n else:\n print(\"Rien! Tu as survécu à une porte en plus.\")\n score = score + 1\n\nprint(\"T'es mort. Tu n'as plus de points de vie.\")\nprint(\"Le jeu est fini, ton score est de \", score)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Maintenant que vous avez un peu joué à ce jeu. Vous allez créer des variantes de ce jeu. \n\nVous devez faire dans l'ordre les variantes 1, 2 et 3. Les autres peuvent être fait dans l'ordre que vous souhaitez en fonction de ce qui vous inspire.\n\n\n**Pour chaque variante, vous copirez puis collerez le programme précédent dans un nouveau fichier dans édupython avant de le modifier.**"},{"metadata":{},"cell_type":"markdown","source":"*Variante 1* Modifier le programme pour que chaque ouverture de porte sans momie rapporte 10 points"},{"metadata":{},"cell_type":"markdown","source":"*Variante 2* Modifier le programme pour que l'on commence avec 5 points de vie mais qu'il n'y ait que deux portes à chaque fois."},{"metadata":{},"cell_type":"markdown","source":"*Variante 3* On part fixe le nombre de porte à 3. Quelle est la probabilité de tomber sur un momie? Transformer le programme pour la probabilité de tomber sur un momie soit de 3/2."},{"metadata":{},"cell_type":"markdown","source":"---\nLes variantes suivantes peuvent être faites dans l'ordre que vous souhaitez."},{"metadata":{},"cell_type":"markdown","source":"*Variante 4* Le programme comporte un gros bug. Il est possible de ne jamais être dévoré par la momie. Proposer une façon de corriger ce bug."},{"metadata":{},"cell_type":"markdown","source":"*Variante 5* Modifier le programme pour qu'à chaque fois que l'on tombe sur une momie. On ait une chance sur deux de perdre 1 point de vie et une chance sur 2 de ne perdre 2 points de vie."},{"metadata":{},"cell_type":"markdown","source":"*Variante 6* Ajouter d'autres monstres cachés derière d'autres portes qui enlèves plus ou moins de points."},{"metadata":{},"cell_type":"markdown","source":"Variante 7 Étonnez nous avec une variante bien à vous!"},{"metadata":{},"cell_type":"markdown","source":"## Bilan\n\nNoter les mots écris en vert dans différents programmes manipulés et décrire l'action de chacun d'eux."},{"metadata":{},"cell_type":"raw","source":"\n"}],"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.10.2"}},"nbformat":4,"nbformat_minor":2}
\ No newline at end of file
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Étape 1: Tour d'horizon\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Decrire un programme\n",
+ "\n",
+ "Ci-dessous, vous retrouverez des programmes. Vous devez les executer. Puis écrire une phrase par ligne de programme pour décrire ce qu'elle fait."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Programme 1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "print(\"Hello les 2nd\")\n",
+ "a = 2\n",
+ "print(a + a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Description"
+ ]
+ },
+ {
+ "cell_type": "raw",
+ "metadata": {},
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Programme 2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "age = int(input(\"Quel age as-tu?\"))\n",
+ "if age >= 18:\n",
+ " print(\"Tu es majeur, tu peux passer ton permis\")\n",
+ "else:\n",
+ " print(\"Tu es mineur\")\n",
+ " \n",
+ " print(\"Il te reste \", 18 - age, \"ans avant de pouvoir passer le permis\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Description"
+ ]
+ },
+ {
+ "cell_type": "raw",
+ "metadata": {},
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Programme 3\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def f(x):\n",
+ " resultat = x**2 + 2\n",
+ " return resultat\n",
+ "\n",
+ "print(f(0))\n",
+ "print(f(10))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Description"
+ ]
+ },
+ {
+ "cell_type": "raw",
+ "metadata": {},
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Modifier le programme de la momie\n",
+ "\n",
+ "\n",
+ "Ouvrez le programme édupython \n",
+ "\n",
+ "Ci-dessous, vous avez un programme qui code un jeu de hazard. \n",
+ "\n",
+ "**Copier puis coller tout le programme dans édupython** puis lancer quelques parties pour comprendre ce que faire ce jeux.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Programme de la momie - tiré du livre les maths ensembles et pour chacun\n",
+ "from random import randint\n",
+ "\n",
+ "def choisir_porte(nombre_portes):\n",
+ " print(\"Il y a \" + str(nombre_portes) + \" portes devant toi.\")\n",
+ " porte_choisie = int(input( \"Laquelle ouvres-tu?\"))\n",
+ " return porte_choisie\n",
+ " \n",
+ " \n",
+ "nombre_portes = 3\n",
+ "points_de_vie = 5\n",
+ "score = 0\n",
+ "degat_momie = 3\n",
+ "\n",
+ "while points_de_vie > 0:\n",
+ " print(\"Tu arrives dans un long couloir et tu avances. Jusqu'à ce que...\")\n",
+ " porte_momie = randint(0, nombre_portes)\n",
+ " porte_choisie = choisir_porte(nombre_portes)\n",
+ " if porte_choisie == porte_momie:\n",
+ " print(\"Une momie attaque!\")\n",
+ " for i in range(degat_momie):\n",
+ " print(\"Elle te touche une fois\")\n",
+ " points_de_vie = points_de_vie - 1\n",
+ " else:\n",
+ " print(\"Rien! Tu as survécu à une porte en plus.\")\n",
+ " score = score + 1\n",
+ "\n",
+ "print(\"T'es mort. Tu n'as plus de points de vie.\")\n",
+ "print(\"Le jeu est fini, ton score est de \", score)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Maintenant que vous avez un peu joué à ce jeu. Vous allez créer des variantes de ce jeu. \n",
+ "\n",
+ "Vous devez faire dans l'ordre les variantes 1, 2 et 3. Les autres peuvent être fait dans l'ordre que vous souhaitez en fonction de ce qui vous inspire.\n",
+ "\n",
+ "\n",
+ "**Pour chaque variante, vous copirez puis collerez le programme précédent dans un nouveau fichier dans édupython avant de le modifier.**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "*Variante 1* Modifier le programme pour que chaque ouverture de porte sans momie rapporte 10 points"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "*Variante 2* Modifier le programme pour que l'on commence avec 5 points de vie mais qu'il n'y ait que deux portes à chaque fois."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "*Variante 3* On part fixe le nombre de porte à 3. Quelle est la probabilité de tomber sur un momie? Transformer le programme pour la probabilité de tomber sur un momie soit de 2/3."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "---\n",
+ "Les variantes suivantes peuvent être faites dans l'ordre que vous souhaitez."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "*Variante 4* Le programme comporte un gros bug. Il est possible de ne jamais être dévoré par la momie. Proposer une façon de corriger ce bug."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "*Variante 5* Modifier le programme pour qu'à chaque fois que l'on tombe sur une momie. On ait une chance sur deux de perdre 1 point de vie et une chance sur 2 de ne perdre 2 points de vie."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "*Variante 6* Ajouter d'autres monstres cachés derière d'autres portes qui enlèves plus ou moins de points."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Variante 7 Étonnez nous avec une variante bien à vous!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Bilan\n",
+ "\n",
+ "Noter les mots écris en vert dans différents programmes manipulés et décrire l'action de chacun d'eux."
+ ]
+ },
+ {
+ "cell_type": "raw",
+ "metadata": {},
+ "source": [
+ "\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/2nd/13_Programmation/4E_boucle_for.ipynb b/2nd/13_Programmation/4E_boucle_for.ipynb
index 84be269..c69762b 100644
--- a/2nd/13_Programmation/4E_boucle_for.ipynb
+++ b/2nd/13_Programmation/4E_boucle_for.ipynb
@@ -7,7 +7,7 @@
"source": [
"# Étape 4: boucle for\n",
"\n",
- "Ce TP commence par l'étape 1. Ensuite les autres étapes peuvent se faire dans l'ordre que vous voulez."
+ "Ce TP commence par la partie 1. Ensuite les autres parties peuvent se faire dans l'ordre que vous voulez."
]
},
{
@@ -17,7 +17,7 @@
"source": [
"## 1- Faire la même chose plusieurs fois, une belle punition\n",
"\n",
- "Bob n'a pas été sage, il a encore essayer de scotcher son voisin de classe sur sa chaise. Son professeur a une idée très originale pour le punir: lui faire recopier 100 fois \"je ne dois pas scotcher mon voisin sur sa chaise\". Alors Bob commence"
+ "Bob n'a pas été sage, il a encore essayer de scotcher son voisin de classe sur sa chaise. Son professeur a une idée très originale pour le punir : lui faire recopier 100 fois \"je ne dois pas scotcher mon voisin sur sa chaise\". Alors Bob commence"
]
},
{
@@ -132,10 +132,20 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 1,
"id": "f853763e",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "####\n",
+ "----------\n",
+ "___ -----\n"
+ ]
+ }
+ ],
"source": [
"print(\"#\"*4)\n",
"print(\"-\"*10)\n",
diff --git a/2nd/13_Programmation/5E_boucles_while.ipynb b/2nd/13_Programmation/5E_boucles_while.ipynb
index 1df21aa..b53e89e 100644
--- a/2nd/13_Programmation/5E_boucles_while.ipynb
+++ b/2nd/13_Programmation/5E_boucles_while.ipynb
@@ -7,7 +7,9 @@
"source": [
"# Étape 5: boucle while\n",
"\n",
- "`While` signifie `tant que` en anglais. Cette instruction va répéter **tant que** quelque chose est vrai."
+ "`While` signifie `tant que` en anglais. Cette instruction va répéter **tant que** quelque chose est vrai.\n",
+ "\n",
+ "1. Exécuter puis décrire le programme suivant"
]
},
{
@@ -42,10 +44,89 @@
"print(\"i vaut \", i, \". C'est plus grand que 10. Je suis sorti de la boucle\")"
]
},
+ {
+ "cell_type": "raw",
+ "id": "1f129756",
+ "metadata": {},
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "id": "de655c11",
+ "metadata": {},
+ "source": [
+ "2. Proposer un variante où l'on répète jusqu'à ce que `i` depasse 20 et où `i` augmente de 2 en 2."
+ ]
+ },
{
"cell_type": "code",
"execution_count": null,
- "id": "23aabfac",
+ "id": "832e7f8c",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "id": "66641818",
+ "metadata": {},
+ "source": [
+ "Dès que l'on veut faire quelque chose **jusqu'à ce que**, on utilisera un boucle `while`. \n",
+ "\n",
+ "3. Exécuter le programme et essayer de trouver mon mot de passe."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "53d5932c",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Quel est mon mot de passe?les maths c bon\n",
+ "Arf bien joué, tu l'as trouvé. J'ai plus qu'à le changer...\n"
+ ]
+ }
+ ],
+ "source": [
+ "mdp = input(\"Quel est mon mot de passe?\")\n",
+ "while mdp != \"les maths c bon\":\n",
+ " mdp = input(\"Raté! Tu ne trouveras jamais. Quel est mon mot de passe?\")\n",
+ "print(\"Arf bien joué, tu l'as trouvé. J'ai plus qu'à le changer...\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "e69e925f",
+ "metadata": {},
+ "source": [
+ "4. Écrire une programme qui pose la même question tant que la bonne réponse n'est pas trouvée (vous devez inventer la question et la réponse)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "ae7497cb",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9748b12c",
+ "metadata": {},
+ "source": [
+ "## 1- Jeux de devinette\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "1a3baf72",
"metadata": {},
"outputs": [],
"source": []
@@ -55,10 +136,34 @@
"id": "9ef8751b",
"metadata": {},
"source": [
- "## - A trouvé?\n",
+ "## 1- Simulation aléatoire\n",
"\n",
- "On veut programmer "
+ "La boucle `while` peut être utile pour simuler des phénomènes aléatoires et les arreter "
]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "6e20c46c",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "id": "594596d0",
+ "metadata": {},
+ "source": [
+ "## 2- Investissement"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "ff906802",
+ "metadata": {},
+ "outputs": [],
+ "source": []
}
],
"metadata": {