{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "![En tête general](img/En_tete_general.png)\n", "\n", "\n", "*(C) Copyright Franck CHEVRIER 2019-2021 http://www.python-lycee.com/*\n", "\n", " Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Corriger un programme bogué simple (corrigé)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "Le but de l'activité est :\n", "\n", "(extrait du programme d'enseignement scientifique en Terminale)\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sommaire\n", "\n", "\n", "I. Tests avec jeux de données
\n", "II. Calcul d'un IMC
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

\n", "## I. Tests avec jeux de données\n", "

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. On fournit ci-dessous une fonction Python inverse qui doit renvoyer l'inverse d'un nombre x entré en argument.
\n", "$\\quad$Afin de tester cette fonction, on fournit un jeu de données sous forme d'une liste nommée Tests.

\n", "a. Observer la construction de la liste Tests. Quelles sont les valeurs de ce jeu de données ?
\n", "b. Exécuter les trois cellules suivantes, et vérifier la réponse à la question a.
\n", "$\\quad$Expliquer l'erreur obtenue dans la 3ème cellule : À quoi correspond-t-elle ? \n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Exécuter les 3 cellules suivantes (Sélectionner les cellules puis SHIFT+Entrée)\n", "\n", "def inverse(x):\n", " \"\"\"\n", " fonction qui renvoie l'inverse de x\n", " \"\"\"\n", " return 1/x" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "[-1.0,\n", " -0.9,\n", " -0.8,\n", " -0.7000000000000001,\n", " -0.6000000000000001,\n", " -0.5,\n", " -0.4,\n", " -0.30000000000000004,\n", " -0.2,\n", " -0.1,\n", " 0.0,\n", " 0.1,\n", " 0.2,\n", " 0.30000000000000004,\n", " 0.4,\n", " 0.5,\n", " 0.6000000000000001,\n", " 0.7000000000000001,\n", " 0.8,\n", " 0.9,\n", " 1.0]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Tests = [ 0.1*k for k in range(-10,11) ]\n", "Tests" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-1.0\n", "-1.1111111111111112\n", "-1.25\n", "-1.4285714285714284\n", "-1.6666666666666665\n", "-2.0\n", "-2.5\n", "-3.333333333333333\n", "-5.0\n", "-10.0\n" ] }, { "ename": "ZeroDivisionError", "evalue": "float division by zero", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mTests\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minverse\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m\u001b[0m in \u001b[0;36minverse\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mfonction\u001b[0m \u001b[0mqui\u001b[0m \u001b[0mrenvoie\u001b[0m \u001b[0ml\u001b[0m\u001b[0;31m'\u001b[0m\u001b[0minverse\u001b[0m \u001b[0mde\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \"\"\"\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mZeroDivisionError\u001b[0m: float division by zero" ] } ], "source": [ "for x in Tests: \n", " print(inverse(x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "c. Modifier la fonction inverse pour qu'elle renvoie la valeur None pour la(les) valeur(s) de x qui a(ont) posé problème.\n", "" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Écrire ici la fonction inverse modifiée\n", "\n", "def inverse(x):\n", " \"\"\"\n", " fonction qui renvoie l'inverse de x\n", " \"\"\"\n", " if x==0 : return None\n", " return 1/x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " d. Effectuer ici le test de la nouvelle fonction inverse avec le jeu de données Tests.
\n", "$\\quad$Quel est l'avantage d'avoir ainsi débogué la fonction ?\n", "
" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-1.0\n", "-1.1111111111111112\n", "-1.25\n", "-1.4285714285714284\n", "-1.6666666666666665\n", "-2.0\n", "-2.5\n", "-3.333333333333333\n", "-5.0\n", "-10.0\n", "None\n", "10.0\n", "5.0\n", "3.333333333333333\n", "2.5\n", "2.0\n", "1.6666666666666665\n", "1.4285714285714284\n", "1.25\n", "1.1111111111111112\n", "1.0\n" ] } ], "source": [ "#Effectuer ici le test\n", "for x in Tests: \n", " print( inverse(x) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

\n", "\n", "2. On considère la fonction moyenne donnée ci-dessous, qui doit permettre de calculer la moyenne d'une liste de valeurs.
\n", "$\\quad$On donne également une syntaxe permettant de générer aléatoirement un jeu de données Tests contenant des listes de valeurs.
\n", "
\n", "a. Exécuter la cellule Python suivante.
\n", "$\\quad$Quel type de liste contient le jeu de données Tests ? Combien y en a-t-il?
\n", "$\\quad$Comment ces listes sont-elles générées ?
\n", "
" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[0, 12, 1, 20, 4],\n", " [10],\n", " [13, 3, 10, 11, 0],\n", " [],\n", " [],\n", " [2],\n", " [13, 11],\n", " [12, 19, 2],\n", " [8, 4, 4, 16],\n", " [7, 5, 18],\n", " [3, 1],\n", " [9],\n", " [16, 16, 6],\n", " [17, 9, 2, 13, 9],\n", " [9, 8],\n", " [5, 11, 7],\n", " [],\n", " [14, 13, 20, 11],\n", " [8, 15],\n", " [0, 13, 5],\n", " [],\n", " [3, 14, 13, 20],\n", " [4],\n", " [],\n", " [10],\n", " [1, 13, 20, 12, 0],\n", " [5],\n", " [15, 6, 8, 7, 20],\n", " [15, 1],\n", " [10, 17, 11, 4]]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Sélectionner cette zone puis SHIFT+ENTREE\n", "\n", "def moyenne(L):\n", " \"\"\"\n", " fonction qui renvoie la moyenne d'une liste de valeurs\n", " \"\"\"\n", " return sum(L)/len(L)\n", "\n", "\n", "from random import randint \n", "\n", "Tests = [ [ randint(0,20) for j in range(randint(0,6)) ] for k in range(30)]\n", "Tests" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "b. Effectuer une saisie Python pour tester la fonction moyenne avec le jeu de données Tests.
\n", "$\\quad$Observer et expliquer le résultat.\n", "
" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "7.4\n", "10.0\n", "7.4\n" ] }, { "ename": "ZeroDivisionError", "evalue": "division by zero", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mliste\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mTests\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mmoyenne\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mliste\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m\u001b[0m in \u001b[0;36mmoyenne\u001b[0;34m(L)\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mfonction\u001b[0m \u001b[0mqui\u001b[0m \u001b[0mrenvoie\u001b[0m \u001b[0mla\u001b[0m \u001b[0mmoyenne\u001b[0m \u001b[0md\u001b[0m\u001b[0;31m'\u001b[0m\u001b[0mune\u001b[0m \u001b[0mliste\u001b[0m \u001b[0mde\u001b[0m \u001b[0mvaleurs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \"\"\"\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mL\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mL\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mZeroDivisionError\u001b[0m: division by zero" ] } ], "source": [ "# Effectuer ici la saisie pour tester la fonction moyenne avec le jeu de données Tests\n", "\n", "for liste in Tests:\n", " print( moyenne(liste) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "c. Effectuer un déboguage de la fonction moyenne.\n", "" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# Écrire ici la fonction moyenne déboguée\n", "\n", "def moyenne(L):\n", " \"\"\"\n", " fonction qui renvoie la moyenne d'une liste de valeurs\n", " \"\"\"\n", " if len(L) == 0 : return None\n", " return sum(L)/len(L)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "7.4\n", "10.0\n", "7.4\n", "None\n", "None\n", "2.0\n", "12.0\n", "11.0\n", "8.0\n", "10.0\n", "2.0\n", "9.0\n", "12.666666666666666\n", "10.0\n", "8.5\n", "7.666666666666667\n", "None\n", "14.5\n", "11.5\n", "6.0\n", "None\n", "12.5\n", "4.0\n", "None\n", "10.0\n", "9.2\n", "5.0\n", "11.2\n", "8.0\n", "10.5\n" ] } ], "source": [ "# Effectuer ici la saisie pour tester la nouvelle fonction moyenne avec le jeu de données Tests\n", "\n", "for liste in Tests:\n", " print( moyenne(liste) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

\n", "\n", "3. On considère la fonction Python resolution, qui doit permettre de résoudre une équation mathématique du type $ax+b=c$.
\n", "$\\quad$Exécuter les cellules pour tester avec le jeu de données Tests.
\n", "$\\quad$Proposer un déboguage.\n", "
" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "def resolution(a,b,c):\n", " \"\"\"\n", " fonction qui renvoie la solution de l'équation ax+b = c\n", " \"\"\"\n", " return (c-b)/a\n", " " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.8333333333333334\n", "1.1\n", "-0.0\n", "-0.8571428571428571\n", "-0.6666666666666666\n", "1.1\n", "-1.5\n", "-0.2857142857142857\n", "-0.2\n", "-2.75\n", "-0.4\n", "2.3333333333333335\n", "1.0\n", "0.25\n", "2.0\n", "-0.6666666666666666\n", "-0.5\n", "0.16666666666666666\n", "-0.6\n", "-2.3333333333333335\n", "1.2857142857142858\n", "0.7777777777777778\n", "0.2222222222222222\n", "-3.0\n", "1.3333333333333333\n", "-0.8333333333333334\n", "-0.8333333333333334\n", "-1.0\n", "0.0\n", "-3.25\n" ] } ], "source": [ "Tests = [ (randint(-10,10),randint(-10,10),randint(-10,10)) for k in range(30)]\n", "Tests\n", "\n", "for valeurs in Tests:\n", " print( resolution(*valeurs) )" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "def resolution(a,b,c):\n", " \"\"\"\n", " fonction qui renvoie la solution de l'équation ax+b = c\n", " \"\"\"\n", " if a==0 :\n", " if b==c:\n", " return \"All\"\n", " else:\n", " return None\n", " return (c-b)/a" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.8333333333333334\n", "1.1\n", "-0.0\n", "-0.8571428571428571\n", "-0.6666666666666666\n", "1.1\n", "-1.5\n", "-0.2857142857142857\n", "-0.2\n", "-2.75\n", "-0.4\n", "2.3333333333333335\n", "1.0\n", "0.25\n", "2.0\n", "-0.6666666666666666\n", "-0.5\n", "0.16666666666666666\n", "-0.6\n", "-2.3333333333333335\n", "1.2857142857142858\n", "0.7777777777777778\n", "0.2222222222222222\n", "-3.0\n", "1.3333333333333333\n", "-0.8333333333333334\n", "-0.8333333333333334\n", "-1.0\n", "0.0\n", "-3.25\n" ] } ], "source": [ "for valeurs in Tests:\n", " print( resolution(*valeurs) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

\n", "\n", "4. Écrire une fonction Python vitesse permettant de calculer une vitesse moyenne, connaissant:\n", "
    \n", "
  • la distance parcourue (en km) ;
  • \n", "
  • le temps écoulé (en h).
  • \n", "
\n", "$\\quad$Effectuer un test et un déboguage de la fonction.\n", "
" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# Utiliser ces zones pour définir la fonction, la tester et la déboguer\n", "def vitesse(d,t):\n", " return d/t" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3.2222222222222223\n", "9.7\n", "5.333333333333333\n", "12.0\n", "4.625\n", "2.5\n", "2.0\n", "5.571428571428571\n", "5.0\n", "13.666666666666666\n", "6.0\n", "25.0\n", "6.111111111111111\n", "18.8\n", "93.0\n", "3.5\n", "50.0\n", "11.166666666666666\n", "8.3\n", "13.6\n", "11.428571428571429\n", "27.666666666666668\n", "15.5\n", "3.6666666666666665\n", "3.6\n", "6.7\n", "10.857142857142858\n", "0.2222222222222222\n", "13.6\n", "3.857142857142857\n" ] } ], "source": [ "Tests = [ (randint(0,100),randint(0,10)) for k in range(30)]\n", "Tests\n", "\n", "for valeurs in Tests:\n", " print( vitesse(*valeurs) )" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "#version déboguée\n", "def vitesse(d,t):\n", " if t==0: return None\n", " return d/t" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3.2222222222222223\n", "9.7\n", "5.333333333333333\n", "12.0\n", "4.625\n", "2.5\n", "2.0\n", "5.571428571428571\n", "5.0\n", "13.666666666666666\n", "6.0\n", "25.0\n", "6.111111111111111\n", "18.8\n", "93.0\n", "3.5\n", "50.0\n", "11.166666666666666\n", "8.3\n", "13.6\n", "11.428571428571429\n", "27.666666666666668\n", "15.5\n", "3.6666666666666665\n", "3.6\n", "6.7\n", "10.857142857142858\n", "0.2222222222222222\n", "13.6\n", "3.857142857142857\n" ] } ], "source": [ "for valeurs in Tests:\n", " print( vitesse(*valeurs) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

\n", "## II. Calcul d'un IMC\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " \n", "
\n", "\n", "\n", "L'indice de masse corporelle ( $\\text{IMC}$ ) d'un individu se calcule à l'aide de la formule $\\displaystyle \\text{IMC} = \\frac{m}{t^2}$ où :\n", "
    \n", "
  • $m$ est la masse de l'individu (exprimée en kg) ;
  • \n", "
  • $t$ est sa taille (exprimée en m).
  • \n", "
\n", "On peut ensuite effectuer un diagnostic rapide à l'aide du tableau ci-dessous.
\n", " \n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " On fournit la fonction Python diagnostic ci-dessous, qui doit permettre de d'effectuer ce diagnostic à partir de m et t.

\n", "1. Expliquer comment est généré le jeu de données Tests.
\n", "2. Exécuter les cellules pour effectuer les tests.
\n", "$\\quad$La fonction donne-t-elle toujours le résultat attendu ? Expliquer et déboguer si nécessaire.\n", "
" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "def diagnostic(m,t):\n", " \"\"\"\n", " fonction effectuant le diagnostic à partir de la masse et de la taille\n", " \"\"\"\n", " \n", " IMC = m/t**2\n", " \n", " if IMC<18.5:\n", " bilan = \"maigreur\"\n", " \n", " if IMC<25:\n", " bilan = \"dans la norme\"\n", " \n", " if IMC>25: \n", " bilan = \"surpoids\"\n", " \n", " return bilan\n", "\n" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(101, 1.6) surpoids\n", "(65, 1.37) surpoids\n", "(46, 1.52) dans la norme\n", "(108, 1.3) surpoids\n", "(76, 1.41) surpoids\n", "(78, 1.56) surpoids\n", "(97, 1.78) surpoids\n", "(48, 1.57) dans la norme\n", "(109, 1.88) surpoids\n", "(102, 1.58) surpoids\n", "(108, 1.57) surpoids\n", "(84, 1.58) surpoids\n", "(55, 1.38) surpoids\n", "(54, 1.33) surpoids\n", "(86, 1.85) surpoids\n", "(100, 1.35) surpoids\n", "(104, 1.7) surpoids\n", "(59, 1.4) surpoids\n", "(71, 1.64) surpoids\n", "(83, 1.67) surpoids\n", "(72, 1.9) dans la norme\n", "(104, 1.8) surpoids\n", "(66, 1.44) surpoids\n", "(57, 1.88) dans la norme\n", "(109, 1.84) surpoids\n", "(65, 1.52) surpoids\n", "(66, 1.71) dans la norme\n", "(88, 1.6) surpoids\n", "(105, 1.8) surpoids\n", "(110, 1.73) surpoids\n" ] } ], "source": [ "# Quelques tests:\n", "\n", "from random import randint \n", "Tests = [ ( randint(45,110) , randint(130,200)/100) for k in range(30) ]\n", "\n", "for donnees in Tests:\n", " print( donnees,diagnostic(*donnees) )" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# Fonction déboguée\n", "\n", "def diagnostic(m,t):\n", " \"\"\"\n", " fonction effectuant le diagnostic à partir de la masse et de la taille\n", " \"\"\"\n", " \n", " IMC = m/t**2\n", " \n", " if IMC<18.5:\n", " bilan = \"maigreur\"\n", " \n", " elif IMC<25:\n", " bilan = \"IMC dans la norme\"\n", " \n", " else: \n", " bilan = \"surpoids\"\n", " \n", " return bilan" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(101, 1.6) surpoids\n", "(65, 1.37) surpoids\n", "(46, 1.52) IMC dans la norme\n", "(108, 1.3) surpoids\n", "(76, 1.41) surpoids\n", "(78, 1.56) surpoids\n", "(97, 1.78) surpoids\n", "(48, 1.57) IMC dans la norme\n", "(109, 1.88) surpoids\n", "(102, 1.58) surpoids\n", "(108, 1.57) surpoids\n", "(84, 1.58) surpoids\n", "(55, 1.38) surpoids\n", "(54, 1.33) surpoids\n", "(86, 1.85) surpoids\n", "(100, 1.35) surpoids\n", "(104, 1.7) surpoids\n", "(59, 1.4) surpoids\n", "(71, 1.64) surpoids\n", "(83, 1.67) surpoids\n", "(72, 1.9) IMC dans la norme\n", "(104, 1.8) surpoids\n", "(66, 1.44) surpoids\n", "(57, 1.88) maigreur\n", "(109, 1.84) surpoids\n", "(65, 1.52) surpoids\n", "(66, 1.71) IMC dans la norme\n", "(88, 1.6) surpoids\n", "(105, 1.8) surpoids\n", "(110, 1.73) surpoids\n" ] } ], "source": [ "for donnees in Tests:\n", " print( donnees,diagnostic(*donnees) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*(C) Copyright Franck CHEVRIER 2019-2021 http://www.python-lycee.com/*\n" ] } ], "metadata": { "celltoolbar": "Raw Cell Format", "kernelspec": { "display_name": "Python 3", "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.7.10" } }, "nbformat": 4, "nbformat_minor": 2 }