Morse vers python

Bonjour,

Je dois decoder un message ecrit en morse grace a Python. Mon alphabet morse se presente sous la forne d un dictionnaire et mon message secret sous la forme d une liste.

J ai essaye plusieurs combinaisons pour recuperer les valeurs depuis les cles du dictionnaire, mais je seche.

J’ai essaye d imprimer les cles et les valeurs mais ca ne fonctionne pas :
(list(encodedmess.keys())[list(encodedmess.values())]).

Je pense pourtant que c est la bonne piste, et qu ensuite je dois creer une loop, mais je debute et je ne sais pas bien comment faire,

Pouvez vous m aider ?
Merci !

MORSE_CODE = { ‹ A ›:’.-’,
‹ B ›:’-…’,
‹ C ›:’-.-.’,
‹ D ›:’-…’,
‹ E ›:’.’,
‹ F ›:’…-.’,
‹ G ›:’–.’,
‹ H ›:’….’,
‹ I ›:’…’,
‹ J ›:’.—’,
‹ K ›:’-.-’,
‹ L ›:’.-…’,
‹ M ›:’–’,
‹ N ›:’-.’,
‹ O ›:’—’,
‹ P ›:’.–.’,
‹ Q ›:’–.-’,
‹ R ›:’.-.’,
‹ S ›:’…’,
‹ T ›:’-’,
‹ U ›:’…-’,
‹ V ›:’…-’,
‹ W ›:’.–’,
‹ X ›:’-…-’,
‹ Y ›:’-.–’,
‹ Z ›:’–…’,
‹ 1 ›:’.----’,
‹ 2 ›:’…—’,
‹ 3 ›:’…–’,
‹ 4 ›:’….-’,
‹ 5 ›:’……’,
‹ 6 ›:’-….’,
‹ 7 ›:’–…’,
‹ 8 ›:’—…’,
‹ 9 ›:’----.’,
‹ 0 ›:’-----’,
‹ , ›:’–…--’,
‹ . ›:’.-.-.-’,
‹ ? ›:’…–…’,
’ ‹ : ›-…-.’,
‹ - ›:’-….-’,
‹ [ ›:’-.–.’,
‹ ] ›:’-.–.-’}

encodedmess = [’-’, ‹ .-. ›, ‹ -.– ›, ‹ -…-. ›, ‹ …- ›, ‹ … ›, ‹ . ›, ‹ -…-. ›, ‹ - ›, ‹ …. ›, ‹ … ›, ‹ … ›, ‹ -…-. ›, ‹ .-… ›, ‹ … ›, ‹ … ›, ‹ - ›, ‹ -…-. ›, ‹ — ›, ‹ …-. ›, ‹ -…-. ›, ‹ -. ›, ‹ …- ›, ‹ – ›, ‹ -… ›, ‹ . ›, ‹ .-. ›, ‹ … ›, ‹ -…-. ›, ‹ … ›, ‹ -. ›, ‹ -…-. ›, ‹ -.– ›, ‹ . ›, ‹ … ›, ‹ - ›, ‹ . ›, ‹ .-. ›, ‹ -… ›, ‹ .- ›, ‹ -.– ›, ‹ … ›, ‹ -…-. ›, ‹ .–. ›, ‹ .-. ›, ‹ — ›, ‹ –. ›, ‹ .-. ›, ‹ .- ›, ‹ – ›, ‹ –…-- ›, ‹ -.–. ›, ‹ —… ›, ‹ ----- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ .---- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ …— ›, ‹ .---- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ ….- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ ….- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ —… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ ----. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ …— ›, ‹ .---- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ —… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ ----. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ …– ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ —… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ ….- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ….- ›, ‹ -…. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ –… ›, ‹ –… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ -…. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ ----. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ …— ›, ‹ .---- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ ----. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ …— ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ …— ›, ‹ ----- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ —… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ ----. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ ----. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ ----. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ …… ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ -…. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ …– ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ .---- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ ….- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ ….- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ ----. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ ….- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ .---- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ ----. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ….- ›, ‹ —… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ ----. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ …— ›, ‹ .---- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ …— ›, ‹ …– ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ ----. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ –… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ …— ›, ‹ ----- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ …— ›, ‹ ----- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ —… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ …… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ ----. ›, ‹ …— ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ -…. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ .---- ›, ‹ —… ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ ----. ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ ----- ›, ‹ –…-- ›, ‹ -…-. ›, ‹ .---- ›, ‹ ----- ›, ‹ …… ›, ‹ -.–.- ›]

Bonjour,

On peut éventuellement apporter de l’aide (quand on a les compétences ou des idées sur le sujet), mais pas faire le tout le boulot à ta place.
Quelle version de Python ?
Peux-tu poster ton code ?
Quels sont les messages d’erreur ?

Premier conseil, faire simple pour commencer, un alphabet avec 2 ou trois lettres et un message avec 2 ou 3 caratères à décrypter seulement. Peut être même pour que ce soit plus lisible commencer par décrypter un message avec le code de César.

EDIT: J’allais oublier le plus important le topic sur le liens Pythons

N.B : Dans ton cas, ce serait vraiment plus simple si le dictionnaire était inversé au niveau des clés/valeurs. Exemple : MORSE_CODE = { ’.-’:‹ A ›,’-…’:‹ B ›}

A+

Bonjour,

Merci pour la reponse. J ai reussi a inverser les valeurs et les keys, mais je n arrive pas a construire une correspondance pour aller faire correspondre les valeurs de la liste a celle du dictionnaire.

Voici mon code, et j utilise Python 3,

dico_inv ={}
for key in MORSE_CODE_DICT:
item = MORSE_CODE_DICT[key]
dico_inv[item] = key

print(dico_inv)

for dico_inv in encodedmess:
print(values)

Merci

Bonjour,

Pour décrypter le contenu d’une liste, il faut la parcourir avec une boucle for, en affectant une variable portant toujours le même nom à chaque valeur.
Dans cette boucle tu recherche dans le dictionnaire la valeur correspondant à chaque itération.

Le code tient en 2 lignes (après l’inversion du dictionnaire) !

A+