Vous êtes sur la page 1sur 2

Office de la formation Professionnelle et de la promotion du travail

DRPS/ISGI LAAYOUNE

Le 03/03/2021

Module : Programmation structurée

Filière : Techniques de Développement Informatique TDI1


Langage de programmation Python

Travaux Dirigés 5 : Dictionnaires dict


Formateur A BENDAOUD
Exercice1 :
a) Écrivez une fonction qui prend en entrée un dictionnaire et retourne la liste de ses éléments
sous forme de paires comme retournée par la méthode items , triés par clé.
b) Écrivez une fonction qui prend en entrée une chaîne de caractères et retourne un
dictionnaire indiquant, pour chaque mot, sa fréquence dans la chaîne fournie.

Exercice 2 :
On dispose d’un dictionnaire associant à des noms de commerciaux d’une société le nombre de
ventes qu’ils ont réalisées. Par exemple :

ventes={"RAMI":14, "KHAOUKI":19, "FAHMI":15, "KAMALI":21}

a) Écrivez une fonction qui prend en entrée un tel dictionnaire et renvoie le nombre total de
ventes dans la société.
b) Écrivez une fonction qui prend en entrée un tel dictionnaire et renvoie le nom du vendeur
ayant réalisé le plus de ventes. Si plusieurs vendeurs sont ex-aequo sur ce critère, la fonction
devra retourner le nom de l’un d’entre eux

Exercice 3 :
Écrivez une fonction qui prend en entrée une chaîne de caractères comprenant, sur chaque ligne,
trois champs séparés par des caractères ';' (un numéro d’étudiant, un nom et un prénom) et
retourne un dictionnaire dont les clés sont les numéros d’étudiants lus et les valeurs sont, pour
chaque numéro d’étudiant, une chaîne correspondant à la concaténation des prénom et nom de la
personne. On pourra tester la fonction avec la chaîne suivante :

chaine_etudiant="""100;RAMI;AHMED
101;KAMALI;ALI
102;FIKRI;KAMAL
103;IBRAHOMI;KHALID"""

{100 : " RAMI AHMED",101 : "KAMALI ALI"}

TD5 (Python) Dictionnaires Page 1 sur 2


Exercice 4 :
Écrivez un programme python qui permet à partir d’un dictionnaire associant à un nom une liste de
notes d’afficher la liste des noms des personnes qui ont la moyenne la plus élevée (s’il y a des ex-
aequo, cette liste contiendra plusieurs éléments, sinon, elle n’en contiendra qu’un) et la moyenne
correspondante. On pourra utiliser le dictionnaire suivant pour tester la fonction ainsi écrite :

notes = {"CHAHI": [8, 10, 12], "ALAMI": [10, 9,15], "RAMI": [12,17,13], "MARIEME": [12, 10, 8]}

RAMI a eu la bonne moyenne 14.0

Exercice 5 :
Écrivez une fonction qui prend en entrée 2 dictionnaires et retourne un dictionnaire fusionnant les
informations de ces dictionnaires de la manière suivante : pour chaque clé présente dans au moins
un dictionnaire, la valeur associée sera la liste des valeurs associées à cette clé dans l’autre
dictionnaires passés en argument à la fonction.

On pourra utiliser les dictionnaires suivant pour tester la fonction ainsi écrite :

dictMath={"RAMI":12,"FAHMI":13,"MARIEM":17,"KAMALI":18,"CHAOUKI":11}
dictPhysique={"RAMI":15,"FAHMI":12,"MARIEM":13,"KAMALI":15,"Alami":10}

Résultat :

{'RAMI': [12, 15], 'FAHMI': [13, 12], 'MARIEM': [17, 13], 'KAMALI': [18, 15], 'CHAOUKI': [11], 'Alami':
[10]}

Exercice 6 :
Cryptage et décryptage de césar :

Le cryptage consiste à changer chaque lettre par la 3 -ème lettre suivante

Le mot ‘SALUT’ a pour mot crypté équivalent ‘VDOXW’ ,un espace ‘ ’ ne doit pas être crypté

Créer la fonction cryptageCesar qui a pour paramètre un mot et retourne le mot crypté

Créer la fonction decryptageCesar qui a pour paramètre un mot et retourne le mot décrypté

TD5 (Python) Dictionnaires Page 2 sur 2

Vous aimerez peut-être aussi