pythonListSelfTest1
Les dictionnaires Python- Exercices

La pluspart des exercices sont proposés avec un jeu d'essai intégré (test cases).

Chaque test est identifié par la phrase "nomDeLaFonction : pass test" suivi du numéro du test.

A l'execution de votre programme chaque test doit être validé par True.

Exemple : pass test1 --> True indique que le test n°1 est réussi.


Exercice 1 On considère 2 dictionnaires nommés Dico1 et dico2 dont les clés sont des mots et les valeurs leur définition.
Ecrire une fonction plus_longue_definition qui renvoie le mot du dictionnaire ayant la définition la plus longue.
# Code à copier dans votre éditeur et à compléter
Dico1 = { "Table":"Meuble composé d'un plateau horizontal reposant sur un ou plusieurs pieds ou supports. \
Servant notamment pour les repas" , \
"Chaise":"Siège à dossier, sans bras" , \
"Fauteuil":"Siège à dossier et à bras pour une personne" , \
"Commode":"Meuble à hauteur d'appui garni, le plus souvent, de tiroirs"}

Dico2 = {"Imprimante":"Matériel d'impression" ,\
"Routeur":"matériel de routage" ,\
"NAS":"Matériel de stockage" ,\
"PC":"Ordinateur personnel" }

def plus_longue_definition(dico):
    
# Jeu d'essai
print("Pass test1 --> ",plus_longue_definition(Dico1)=="Table")
print("Pass test2 --> ",plus_longue_definition(Dico2)=="Imprimante")
Exercice 2 Écrire une fonction translate qui prend en entrée une phrase composée de mots en Français
et qui renvoie une phrase où les mots Français ont été remplacé par des mots Anglais selon le dictionnaire passé en paramètre.
Si la correspondance n'existe pas le mot en Français est conservé mais entouré avec 2 ?.
Remarque : La phrase sera écrite tout en minuscule. Pensez à utiliser la méthode split() sur les chaînes de caractères.
# Code à copier dans votre éditeur et à compléter
Dico = {"chat":"cat","chien":"dog","sous":"under","soleil":"sun","le":"the","et":"and"}

def translate(dico,phrase):
   
    
# Jeu d'essai
print("Pass test1 --> ",translate(Dico,"le chat et le chien")=="the cat and the dog")
print("Pass test2 --> ",translate(Dico,"sous le soleil")=="under the sun")
print("Pass test3 --> ",translate(Dico,"le chat et le chien jouent au soleil")=="the cat and the dog ?jouent? ?au? sun")
				
Exercice 3 Écrire une fonction occurence qui prend en entrée une phrase composée de mots en Français
et qui renvoie pour chaque mot son nombre d'occurences (nombre de fois ou le mot apparaît dans le texte) sous le format d'un dictionaire.
Remarque : La phrase sera écrite tout en minuscule. Pensez à utiliser la méthode split() sur les chaînes de caractères.
# Code à copier dans votre éditeur et à compléter
def occurence(phrase):
   
    
# Jeu d'essai
print("Pass test1 --> ",occurence("chat chat chat sur le toit")=={'chat':3,'sur':1,'le':1,'toit':1})
print("Pass test2 --> ",occurence("un deux trois deux trois quatre")=={'un':1,'deux':2,'trois':2,'quatre':1})