TP : Les dictionnaires
Voici un dictionnaire dont les clés sont des mots français et leur correspond à leur traduction en anglais.
Dico = {"chat":"cat","chien":"dog","sous":"under","soleil":"sun","le":"the","et":"and"}
Exercice 1
Ecrire une fonction traduire
dont les paramètres sont un dictionnaire et un mot français qui renvoie le mot traduit en anglais s'il est dans le dictionnaire sinon il renvoie "le mot n'est pas dans le dictionnaire".
Coller le code de la console
Voir une solution
Exercice 2
Ecrire une fonction traduire2
dont les paramètres sont un dictionnaire et un mot français qui renvoie le mot traduit en anglais s'il est dans le dictionnaire sinon il propose de rajouter le mot dans le dictionnaire et renvoie le dictionnaire mis à jour.
Coller le code de la console
Voir une solution
Le code
Dico = {"chat":"cat","chien":"dog","sous":"under","soleil":"sun","le":"the","et":"and"}
def traduire2(dico,mot):
if mot in dico.keys():
return dico[mot]
else:
dico[mot]=input("Donner la traduction de "+mot)
return dico
print(traduire2(Dico,"chat"))
print(traduire2(Dico,"pomme"))
Dico = {"chat":"cat","chien":"dog","sous":"under","soleil":"sun","le":"the","et":"and"}
def traduire2(dico,mot):
if mot in dico.keys():
return dico[mot]
else:
dico[mot]=input("Donner la traduction de "+mot)
return dico
print(traduire2(Dico,"chat"))
print(traduire2(Dico,"pomme"))
Exécuter
Masquer
Exercice 3
É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 sans ponctuation, ni apostrophe. Pensez à utiliser la méthode split() sur les chaînes de caractères.
Coller le code de la console
Voir une solution
Le code
Dico = {"chat":"cat","chien":"dog","sous":"under","soleil":"sun","le":"the","et":"and"}
def translate(dico,phrase):
mots=phrase.split(" ")
traduction=""
for m in mots:
if m in dico.keys():
traduction=traduction+dico[m]+" "
else:
traduction=traduction+"?"+m+"? "
return traduction
print(translate(Dico,"le chat et le chien"))
print(translate(Dico,"le chat et le mouton"))
Dico = {"chat":"cat","chien":"dog","sous":"under","soleil":"sun","le":"the","et":"and"}
def translate(dico,phrase):
mots=phrase.split(" ")
traduction=""
for m in mots:
if m in dico.keys():
traduction=traduction+dico[m]+" "
else:
traduction=traduction+"?"+m+"? "
return traduction
print(translate(Dico,"le chat et le chien"))
print(translate(Dico,"le chat et le mouton"))
Exécuter
Masquer
Exercice 4
Transformer la fonction translate
en translate2
telle qu'elle propose de saisir une traduction et de rajouter les nouveaux mots.
Coller le code de la console
Voir une solution
Le code
Dico = {"chat":"cat","chien":"dog","sous":"under","soleil":"sun","le":"the","et":"and"}
def translate2(dico,phrase):
mots=phrase.split(" ")
traduction=""
for m in mots:
if m not in dico.keys():
dico[m]=input("donner une traduction de "+m)
traduction=traduction+dico[m]+" "
return traduction
print(translate2(Dico,"le chat et le chien"))
print(translate2(Dico,"le chat et le mouton"))
print(Dico)
Dico = {"chat":"cat","chien":"dog","sous":"under","soleil":"sun","le":"the","et":"and"}
def translate2(dico,phrase):
mots=phrase.split(" ")
traduction=""
for m in mots:
if m not in dico.keys():
dico[m]=input("donner une traduction de "+m)
traduction=traduction+dico[m]+" "
return traduction
print(translate2(Dico,"le chat et le chien"))
print(translate2(Dico,"le chat et le mouton"))
print(Dico)
Exécuter
Masquer
#ecrire le code dans la console
Python avec mathartung.xyz@20018
end