Informatique

Question

Bonjour,
pouvez vous m'aider a faire ce DM en python sur les dictionnaires SVP
Merci
Bonjour, pouvez vous m'aider a faire ce DM en python sur les dictionnaires SVP Merci

1 Réponse

  • Bonjour

    Je pense que le plus utile serait d'éclaircir des points de théorie pour t'aider à comprendre, par toi même, les réponses que je te propose

    Théorie

    ▪ Accéder à une valeur du dico

    Les dictionnaires Python ont toujours à peu près la même structure:

    ▌ dico = {"clef" : valeur}

    Sachant que dans la valeur peuvent venir se greffer des sous sections, listes, etc...

    Imaginons qu'on ait le dictionnaire:

    ▌ fleurs = {"coquelicot" : "rouge"}

    Pour accéder à la valeur de coquelicot, on fait:

    ▌ fleurs["coquelicot"] ====> "rouge"

    Et si, comme dans l'exercice, on a des sous sections, comme:

    ▌ fleurs = {

    ▌ "coquelicot" : {"couleur" : "rouge", "région" : "Europe", "taille" : 18}

    ▌ }

    Alors il suffit de mettre successivement les indications pour atteindre la valeur souhaitée.

    ▌ fleurs["coquelicot"]["région"] ====> "Europe"

    ▪ Ajouter/modifier une valeur à un dictionnaire Python

    Pour ajouter ou modifier une valeur, il suffit d'appeler celle-ci, comme au dessus, mais d'y apposer un = puis la valeur.

    Par exemple

    ▌ fleurs["coquelicot"]["région"] = "Asie"

    Changera le "Europe" en "Asie".

    Il en va de même pour ajouter une valeur, il suffit de l'appeler comme si elle existait et d'y apposer une valeur

    ▌ fleurs["coquelicot"]["règne"] = "Plantae"

    Ajoutera donc une clef "règle" après "taille".

    ▪ Calculer la longueur d'un élément

    Pour ce faire, il existe la fonction primaire (càd une des fonctions qui sont de base ajouté lors de l'installation de Python):

    len()

    Cette fonction va renvoyer un entier positif qui compte le nombre d'élément dès qu'on lui fourni évidement quelque chose de comptable.

    ▌ len("Merci nosdevoirs.fr")

    Renverra 19, car il y a 19 caractères dans la phrase.

    ▌ len(['mot','mot-2','mot-3'])

    Renverra 3, car il y a 3 éléments dans la liste qu'on lui a donné.

    Le principe s'applique aussi aux dictionnaires, cela va renvoyer le nombre d'entrée du niveau donné, par exemple dans notre exercice,

    ▌ len(premiere)

    Renverra 4, les 4 élèves de notre classe.

    On peut descendre d'un cran et dire qu'on veut compter les entrées dans chez un élève spécifique

    ▌ len(premiere["Alain"])

    Renverra 3, car il y a 3 clefs à ce niveau là ("Math", "P.C." et "Anglais")

    Exercice

    J'ai normalement fait en sorte que la théorie du dessus te suffise à comprendre le code final, si tu as encore des questions n'hésite pas à les poser en commentaires

    Pour la fonction

    Je vais traduire en mots:

    ▌ definir la fonction moyenne(eleve, eleve_nom, matiere):

    ▌     Définir la variable notes sur le tableau accessible par le chemin table[eleve_nom][matiere]

    ▌     Definir une valeur total, qui sera l'addition de toutes les notes

    ▌     Pour chaque éléments dans le tableau notes;

    ▌         Redéfinir le total en y ajoutant la valeur (donc la note)

    ▌     Retourner la moyenne*

    * La moyenne, dite moyenne arithmétique peut être obtenue en additionnant toutes les valeurs et en les divisant par le nombre d'éléments/d'effectif

    Bonne journée ;)

    Image en pièce jointe de la réponse ClementCg
    Image en pièce jointe de la réponse ClementCg
    Image en pièce jointe de la réponse ClementCg
    Image en pièce jointe de la réponse ClementCg