TP3 - Dictionnaires
Objectifs
- Manipuler des dictionnaires ;
- Faire des conditions et boucles ;
- Créer des algorithmes.
Au préalable
- Se créer un dossier
Première NSI
sur votre ordinateur ou clé USB - Dans ce dossier, créer un dossier
Représentation des données
Sur EduPython ou autre instance python, faire :
- Créer un nouveau fichier en cliquant sur l'icône
📄
, ou en appuyant surCTRL
+N
- Enregistrer le fichier sous le nom
TP3_Dictionnaires
en cliquant sur l'icône💾
, ou en appuyant surCTRL
+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.
- 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. - Pour définir un élève, on souhaite également rajouter une clé pour son adresse. Rajouter à
eleve1
l'adresse "3 Rue du marais". - 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.
- On décide de rajouter des notes à un élève. Reprendre la liste à la fin du TP2, puis l'ajouter dans une clé
notes
. - Calculer cette fois la moyenne de Mathieu.
- 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"
]
- 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 - 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.
- Ajouter une liste de 10 notes aléatoires pour chaque élève.
- Créer une liste
moyennes
vide. - Pour chaque élève, calculer sa moyenne, et l'ajouter dans la liste.