diff --git a/Notebooks/04_Les_fonctions_avec_parametres.ipynb b/Notebooks/04_Les_fonctions_avec_parametres.ipynb index e6c2186eeefc81ac8952c97f0e0bb8ab023c8e01..3c8fa90535973cddb76947c87b03847abfff3e86 100644 --- a/Notebooks/04_Les_fonctions_avec_parametres.ipynb +++ b/Notebooks/04_Les_fonctions_avec_parametres.ipynb @@ -39,7 +39,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\ndef rectangle(d, e): # paramètres (d, e)\n for i in range(2):\n forward(d)\n left(90)\n forward(e)\n left(90)\n\nrectangle(160, 100) # largeur=160, hauteur=100\n\n# à compléter\n\ndone()" @@ -58,7 +58,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\ndef losange(d, a): # paramètres (d=distance, a=angle)\n for i in range(2):\n forward(d)\n left(a)\n\n forward(d)\n left(180-a)\n\nlosange(100, 60) # distance=100, angle=60\nlosange(140, 100) # distance=140, angle=100\n\ndone()\n" @@ -82,7 +82,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\ndef maison(d):\n dot()\n forward (1.41*d) # sol\n left(90)\n forward(d) # mur droit\n left(45)\n forward(d) # toit droit\n left(90)\n forward(d) # toit gauche\n left(45)\n forward(d) # mur gauche\n left(90)\n\nbackward(200)\nmaison(50) # maison de taille 50\nforward(100)\nmaison(70) # maison de taille 70\n\n# à compléter\n\ndone()\n" @@ -99,17 +99,11 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, - "outputs": [ - { - "data": {}, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": "from turtle import *\nup()\n\ndef maison(d, c):\n dot()\n down()\n fillcolor(c)\n begin_fill()\n forward (1.41*d) # sol\n left(90)\n forward(d) # mur droit\n left(45)\n forward(d) # toit droit\n left(90)\n forward(d) # toit gauche\n left(45)\n forward(d) # mur gauche\n left(90)\n end_fill()\n up()\n\ngoto(0,0)\nmaison(70, 'lightblue')\ngoto(150, 30)\nmaison(50, 'yellow')\n\ndone()\n" }, { @@ -126,7 +120,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\ndef rectangle(d, e, c):\n fillcolor(c)\n begin_fill()\n for i in range(2):\n forward(d)\n left(90)\n forward(e)\n left(90)\n end_fill()\n\ndef drapeau(d, c1, c2, c3):\n rectangle(d, 2*d, c1)\n forward(d)\n rectangle(d, 2*d, c2)\n forward(d)\n rectangle(d, 2*d, c3)\n\ndrapeau(50, 'blue', 'white', 'red')\n\ndone()\n" @@ -145,7 +139,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\ndef arbre(d, c, c2):\n down()\n left(90)\n width(d/6) # tronc\n pencolor(c)\n forward(d)\n dot(d, c2) # feuillage\n up()\n backward(d) # retourner à la position de départ\n right(90)\n\n\narbre(100, 'brown', 'lime')\nforward(70)\narbre(90, 'brown', 'green')\n\ndone()\n" @@ -164,40 +158,11 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\ndef coeur(r, c):\n down()\n fillcolor(c)\n begin_fill()\n left(90)\n circle(r, 225)\n forward(2.4*r)\n left(90)\n forward(2.4*r)\n circle(r, 225)\n left(90)\n end_fill()\n up()\n\ncoeur(50, 'darkviolet')\nforward(130)\ncoeur(40, 'tomato')\n\ndone()\n" }, - { - "cell_type": "markdown", - "metadata": {}, - "source": "## Autres exemples de fonction\n\n**Exemple 1: Dessiner un bus**\n\nPour dessiner un bus, une voiture ou un camion simple, nous pouvons utiliser des rectangles pour le châssis, et un disque (dot) pour les roues.\nC'est une fonction qui a comme paramètres\n\n- `p` -- position du bus\n- `d` -- dimension (longeur) du bus\n- `c` -- couleur du bus" - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": false - }, - "outputs": [], - "source": "from turtle import *\nup()\n\ndef rectangle(d, e, c):\n fillcolor(c)\n begin_fill()\n for i in range(2):\n forward(d)\n left(90)\n forward(e)\n left(90)\n end_fill()\n\ndef bus(p, d, c):\n goto(p)\n down()\n rectangle(d, d/3, c) # chassis\n forward(d/4)\n dot(d/5) # roue arrière\n dot(d/10, 'white')\n forward(d/2)\n dot(d/5) # roue avant\n dot(d/10, 'white')\n up()\n\nbus([-200, 50], 200, 'red')\nbus([50, 20], 150, 'lightblue')\n\ndone()\n" - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": "**Exemple 2: L'escalier**\n\nPour dessiner un escalier notre fonction aura les paramètres suivants:\n\n- `d` -- longueur de marche\n- `e` -- hauteur de marche\n- `n` -- nombre de marches\n\n" - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true, - "trusted": false - }, - "outputs": [], - "source": "from turtle import *\n\ndef escalier(d, e, n):\n dot() # marqueur de début\n for i in range(n):\n forward(d)\n left(90)\n forward(e)\n right(90)\n\nescalier(20, 10, 5)\nescalier(10, -20, 5)\nescalier(30, 10, 4)\n\ndone()\n" - }, { "cell_type": "markdown", "metadata": {}, @@ -212,7 +177,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\ndef triangle_couleur(d, c):\n pencolor(c)\n for i in range(3):\n forward(d)\n left(120)\n\ntriangle_couleur(\"red\", 100)\n\ndone()" @@ -226,7 +191,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\n# pour être à gauche du canevas\nbackward(250)\n\n# Code à factoriser\nfor k in range(3):\n forward(30)\n right(120)\nforward(30)\nfor k in range(3):\n forward(60)\n right(120)\nforward(60)\nfor k in range(3):\n forward(90)\n right(120)\nforward(90)\nfor k in range(3):\n forward(120)\n right(120)\nforward(120)\nfor k in range(3):\n forward(150)\n right(120)\n\ndone()\n" @@ -240,7 +205,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\n# a compléter\n\ndone()" @@ -254,7 +219,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\ndef rangee_triangles(nombre, cote):\n # a compléter\n\n# a compléter\n\ndone()" @@ -268,7 +233,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\n\ndef maison(h, c):\n # a compléter\n \n\nspeed(9) # pour dessiner vite\n# dessiner le village (a compléter)\n# a compléter\ndone()" @@ -282,7 +247,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\npenup()\n\ndef rectangle(p, d, e, w=1, pen='black', fill='white'):\n goto(p)\n pendown()\n width(w)\n pencolor(pen)\n fillcolor(fill)\n begin_fill()\n for i in range(2):\n forward(d)\n left(90)\n forward(e)\n left(90)\n end_fill()\n penup()\n\nrectangle([-200, 30], 40, 30)\nrectangle([-100, -20], 40, 30, 1, 'orange', 'orange')\nrectangle([100, -40], 30, 80, fill='yellow')\nrectangle([200, 100], 80, 40, 1, 'red', 'pink')\n\ndone()\n" @@ -296,7 +261,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\ndef polygon(d, n, w=1, pen='black', fill='white'):\n down()\n pencolor(pen)\n width(w)\n fillcolor(fill)\n begin_fill()\n for i in range(n):\n forward(d)\n left(360/n)\n end_fill()\n up()\n\nup()\nbackward(280)\nfor n in range(3, 9):\n polygon(40, n, fill='lime')\n color('black')\n forward(100)\n\ndone()\n" @@ -310,7 +275,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": false + "trusted": true }, "outputs": [], "source": "from turtle import *\n\ndef polygon(d, n, m=1, w=1, pen='black', fill='white'):\n down()\n pencolor(pen)\n width(w)\n fillcolor(fill)\n begin_fill()\n for i in range(n):\n forward(d)\n left(m*360/n)\n end_fill()\n up()\n\nup()\nspeed(0)\nbackward(250)\nfor m in range(2, 6):\n polygon(80, 11, m, fill='yellow')\n color('black')\n forward(140)\n\ndone()\n"