Aller au contenu principal

TP3 - Dictionnaires

Objectifs
  1. Manipuler des dictionnaires ;
  2. Faire des conditions et boucles ;
  3. Créer des algorithmes.
Au préalable
  1. Se créer un dossier Première NSI sur votre ordinateur ou clé USB
  2. Dans ce dossier, créer un dossier Représentation des données

Sur EduPython ou autre instance python, faire :

  1. Créer un nouveau fichier en cliquant sur l'icône 📄, ou en appuyant sur CTRL+N
  2. Enregistrer le fichier sous le nom TP3_Dictionnaires en cliquant sur l'icône 💾, ou en appuyant sur CTRL+S
TP

L'ensemble des exercices se fait sur python.

Exercice 1 - Élève

Un élève est représenté par son nom, son prénom, son âge et son genre.

  1. Créer le dictionnaire eleve1 de l'élève Dupont Mathieu, âgé de 27 ans (il a redoublé beaucoup de fois), dont le genre est masculin.
  2. Pour définir un élève, on souhaite également rajouter une clé pour son adresse. Rajouter à eleve1 l'adresse "3 Rue du marais".
  3. L'année passe, et Mathieu loupe (encore) son bac. De nature persévérente, il refait une année. Ajouter 1 à l'âge de Mathieu.
  4. On décide de rajouter des notes à un élève. Reprendre la liste à la fin du TP2, puis l'ajouter dans une clé notes.
  5. Calculer cette fois la moyenne de Mathieu.
  6. Si sa moyenne est supérieure ou égale à 10, afficher "Le cauchemar est fini" sinon, afficher "Lâche rien, ça sera pour l'année suivante...".

Exercice 2 - Liste d'élèves

On souhaite ici créer un ensemble de 30 élèves aléatoires, suivant la base du dictionnaire créé à l'exercice 1.
On dispose des jeux de données suivants :

prenoms = [
"Emma", "Liam", "Noah", "Olivia", "Ava", "Isabella", "Ethan", "Mia",
"Lucas", "Amelia", "Sophia", "Benjamin", "Charlotte", "James", "Harper",
"Alexander", "Ella", "Henry", "Chloé", "Léa", "Gabriel", "Nathan",
"Louis", "Arthur", "Camille", "Alice", "Inès", "Sarah", "Hugo",
"Juliette", "Théo", "Maxime", "Paul", "Zoe", "Oscar", "Clara"
]
noms_famille = [
"Martin", "Bernard", "Dubois", "Durand", "Leroy", "Moreau", "Lefebvre",
"Garcia", "Bertrand", "Roux", "Fournier", "Morel", "Girard", "Lemoine",
"Dupont", "Lambert", "Bonnet", "Martinez", "Legrand", "Garnier",
"Faure", "Rousseau", "Blanc", "Gauthier", "Perrin", "Lopez",
"Fontaine", "Chevalier", "Muller", "Guerin", "Boucher", "Vidal",
"Pires", "Reynaud", "Bouvier", "Gaillard", "Renard", "Gilles",
"Pichon", "Baron", "Couturier", "Charpentier"
]
  1. Créer la liste liste_eleves, vide.
    info
    • On peut ajouter des dictionnaires dans des liste :
    dico1 = {"a" : 1}
    dico2 = {"b" : 2}
    liste = []
    liste.append(dico1)
    liste.append(dico2)
    #Pour accéder à la valeur 1 de dico2, j'utilise : liste[1]["b"]
    • On peut choisir des éléments aléatoirement dans des listes avec la fonction choice de la bibliothèque random :
    import random
    liste = ["a","b","c"]
    valeur_aleatoire = random.choice(liste)
    #valeur_aleatoire contient un des éléments de liste
  2. A l'aide des informations données, générer 30 élèves avec des noms et prénoms aléatoires, un âge aléatoire compris entre 14 et 19 ans.
  3. Ajouter une liste de 10 notes aléatoires pour chaque élève.
  4. Créer une liste moyennes vide.
  5. Pour chaque élève, calculer sa moyenne, et l'ajouter dans la liste.