{"id":2097,"date":"2024-02-14T10:32:00","date_gmt":"2024-02-14T09:32:00","guid":{"rendered":"https:\/\/labodemaths.fr\/WordPress3\/?p=2097"},"modified":"2024-02-19T09:09:48","modified_gmt":"2024-02-19T08:09:48","slug":"nsi2022-2023tp-entrainement-listedico","status":"publish","type":"post","link":"https:\/\/labodemaths.fr\/WordPress3\/nsi2022-2023tp-entrainement-listedico\/","title":{"rendered":"NSI,2022-2023,TP entrainement liste,dico"},"content":{"rendered":"\n<p>On consid\u00e8re des donn\u00e9es concernant des \u00e9coles :<a rel=\"noreferrer noopener\" href=\"https:\/\/opendata.lillemetropole.fr\/explore\/dataset\/effectifs-scolaires-par-ecole-armentieres\/information\/\" target=\"_blank\">https:\/\/opendata.lillemetropole.fr\/explore\/dataset\/effectifs-scolaires-par-ecole-armentieres\/information\/<\/a><br>R\u00e9cup\u00e9rer les donn\u00e9es json et compl\u00e9ter le programme python ci-dessous pour qu&rsquo;il permette de classer ces \u00e9coles par effectif d\u00e9croissant.<br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import json\n# on ouvre le fichier json \n\nwith open(...................................) as mon_fichier:\n    # on stocke les donnees\n    donnees = json.load(mon_fichier)\n    \ndef recherche_max_eleves(data):\n    '''\n    retourne l'index dans la liste data de\n    l'\u00e9cole ayant le plus d'\u00e9l\u00e8ves\n    : data : list\n    &gt;&gt;&gt;recherche_max(donnees)\n    12\n    '''\n    # par defaut le nbre max est le nombre d'eleves\n    # de la premiere ecole de mes data\n    max_eleves=..............................\n    # par defaut l'indice max est l'indice de la premiere\n    # ecole de mes data\n    indice_max=............................\n    # on parcourt les data par l'indice i\n    for i in range(........................):\n        # si le nombre d'eleves de l'ecole d'indice i\n        # est sup\u00e9rieur au max\n        if ...................... &gt; max_eleves:\n            # il devient le nouveau max\n            max_eleves=....................................\n            # on memorise l'indice correspondant\n            indice_max=.................\n    # on retourne l'indice ou on a trouv\u00e9 le max d'\u00e9l\u00e8ves\n    return ...........................\n\ndef classement_par_nombre(mes_donnees):\n    '''\n    retourne la liste des \u00e9coles class\u00e9es par\n    effectif d\u00e9croissant, chaque \u00e9cole \u00e9tant identifi\u00e9e\n    par un dictionnaire ayant pour cl\u00e9s 'nom' et 'effectif'\n    et les valeurs attribu\u00e9es correspondantes\n    '''\n    # on fait une copie de mes_donnees\n    data_a_classer=...............................\n    # on cr\u00e9e une liste vide des data classees\n    data_classees=.......................................\n    # tant qu'il reste des datas \u00e0 classer\n    while ..................... &gt;0:\n        # on cherche l'indice correspondant au max d'eleves\n        i=recherche_max_eleves(data_a_classer)\n        # on cr\u00e9e un dictionnaire\n        ecole=...................................\n        # \u00e0 la cl\u00e9 \"nom\" on attribue la valeur correspondant\n        # au nom de l'ecole d'indice i de mes data \u00e0 classer\n        ...................=data_a_classer&#91;i]&#91;'fields']&#91;'nom_de_l_ecole']\n        # \u00e0 la cl\u00e9 \"effectif\" on attribue la valeur correspondant\n        # au nombre d'\u00e9l\u00e8ves de l'ecole d'indice i\n        ecole&#91;\"effectif\"]=....................................\n        # on ajoute le dictionnaire ecole \u00e0 la liste des data class\u00e9es\n        ...............................\n        # on supprime l'ecole des ecoles \u00e0 classer gr\u00e2ce \u00e0 son indice\n        .................................\n    # on renvoie les ecoles class\u00e9es\n    return ..........................\n    \n\n<\/code><\/pre>\n\n\n\n<p>Proposition de correction :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import json\n# on ouvre le fichier json \n\nwith open(\"ecoles.json\") as mon_fichier:\n    # on stocke les donnees\n    donnees = json.load(mon_fichier)\n\ndef recherche_max_eleves(data):\n    max_eleves=data&#91;0]&#91;\"nombre_d_eleves\"]\n    indice_max=0\n    for i in range(len(data)):\n        if data&#91;i]&#91;\"nombre_d_eleves\"] > max_eleves:\n            max_eleves=data&#91;i]&#91;\"nombre_d_eleves\"]\n            indice_max=i\n    return indice_max\n\ndef classement_par_nombre(mes_donnees):\r\n    '''\r\n    retourne la liste des \u00e9coles class\u00e9es par\r\n    effectif d\u00e9croissant, chaque \u00e9cole \u00e9tant identifi\u00e9e\r\n    par un dictionnaire ayant pour cl\u00e9s 'nom' et 'effectif'\r\n    et les valeurs attribu\u00e9es correspondantes\r\n    '''\r\n    data_a_classer=mes_donnees\r\n    data_classees=&#91;]\r\n    while len(data_a_classer) >0:\r\n        i=recherche_max_eleves(data_a_classer)\r\n        ecole={}\r\n        ecole&#91;\"nom\"]=data_a_classer&#91;i]&#91;'nom_de_l_ecole']\r\n        ecole&#91;\"effectif\"]=data_a_classer&#91;i]&#91;'nombre_d_eleves']\r\n        data_classees.append(ecole)\r\n        del(data_a_classer&#91;i])\r\n    return data_classees\r\n    \n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>On consid\u00e8re des donn\u00e9es concernant des \u00e9coles :https:\/\/opendata.lillemetropole.fr\/explore\/dataset\/effectifs-scolaires-par-ecole-armentieres\/information\/R\u00e9cup\u00e9rer les donn\u00e9es json et compl\u00e9ter le programme&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/labodemaths.fr\/WordPress3\/nsi2022-2023tp-entrainement-listedico\/\">Read the post<span class=\"screen-reader-text\">NSI,2022-2023,TP entrainement liste,dico<\/span><\/a><\/div>\n","protected":false},"author":2,"featured_media":2408,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[57],"tags":[],"_links":{"self":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/2097"}],"collection":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/comments?post=2097"}],"version-history":[{"count":7,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/2097\/revisions"}],"predecessor-version":[{"id":2410,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/2097\/revisions\/2410"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/media\/2408"}],"wp:attachment":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/media?parent=2097"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/categories?post=2097"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/tags?post=2097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}