ISTIC Prog Python
$
Algo & Programmation
TP N° 3 : Dictionnaires et ensembles
Objectifs
1. Manipulation des dictionnaires
2. Manipulation des ensembles
Exercice 1
Soit le tableau suivant représentant des informations physico-chimiques sur des
éléments simples (température d’ébullition (Te ) et de fusion (Tf ), numéro (Z) et masse
atomique (A) :
Te/Tf 2970 1063
Au Z/A 79 196.167
Te/Tf 2237 89.8
Ga
Z/A 31 69.72
1- Affectez les données de ce tableau à un dictionnaire dico python de façon à
pouvoir écrire parexemple : >>> print dico["Au"]["Z/A"][0] # affiche : 79
2- Supprimer la ligne
Z/A 79 196.167
de façon à ce que dico
sera
Au Te/Tf 2970 1063
Te/Tf 2237 89.8
Ga
Z/A 31 69.72
3- Modifier dico pour
qu’il sera
Au Te/Tf 2970 0
Te/Tf 2237 0
Ga
Z/A 31 0
Exercice 2
Supposons qu’une liste birthdays contient des chaines de caractères qui représentent
des dates de naissance tels que 'JAN 2 2020', composé des 3 premiers lettres pour
désigner le mois, le jour sur 1 ou 2 caractères et l’année sur 4 caractères. Toutes les
informations sont séparées par des espaces.
1- A partir de la liste birthdays, construire la liste de dictionnaires list_birth qui
représente chaqueélément de birthdays comme un dictionnaire de la forme {'month': … ,
'day': … , 'year': ..}
2- Afficher list_birth triée dans l’ordre chronologique
Par exemple Si list_birth = [{'month': 'JAN', 'day': 7, 'year':
2020},
{'month': 'FIB', 'day': 12, 'year':2018},
{'month': 'FIB', 'day': 12, 'year': 2018}]
Afef SLIMANI 1
ISTIC Prog Python
$
Alors le résultat affiché sera Algo & Programmation
[ {'month': 'FIB', 'day': 12, 'year': 2018},{'month': 'FIB',
'day':
12, 'year': 2018},{'month': 'JAN', 'day': 7, 'year': 2020}]
3- Afficher la liste des dates de list_birth sous la forme d’une chaine de caractères
'yy/dd/YYY'
Le résultat d’affichage : [ '12/02/2018', '12/02/2018', '07/01/2020']
4- Construire le dictionnaire occ_birth qui associe à chaque date de naissance son
nombred’occurrence.
Selon l’exemple précédent, occ_birth sera {'12/02/2018' : 2, '07/01/2020' : 1}
5- Lire à partir du clavier le nombre minimal d’occurrence d’une date de naissance
min_count etafficher parmi les dates existantes celles qui occurrent au moins
min_count fois.
Si min_count = 2, alors le résultat s’affiche comme suit : ['12/02/2018']
Afef SLIMANI 2