[Solved] Python: Dots and Dashes as Dictionary Keys

An example, the dictionay key for an "A" which is ".-" outputs an "E" and a "T" The "E" correlating to the "." and the "T" to the "-" How can you code the ".-" to output as an "A"? Here's the code in question: https://code.sololearn.com/ciWv4JKZ3RtC/?ref=app I made a morse code generator that works, (it's the base code for the problematic code above): https://code.sololearn.com/cvNH77tREW7C/?ref=app The decoder at the top is just a reversal of the generator's dictionary keys. Update: Run this code: ... - .-. .- -. --. . .-. / - .... .. -. --. ... / .---- .---- / -.- .. -.-. -.- ... / .- ... ... Here: https://code.sololearn.com/cWr30iwQr7ax/?ref=app

8/24/2019 11:40:47 AM


8 Answers

New Answer


Your code is fine You just need to give it correct input and handle it in a sensible way The change i made was splitting the user input by single spaces and pass it thru the same loop you made https://code.sololearn.com/cNE96PTO83kI/?ref=app


i made some little changes to your code though what you did is almost the same with mine, if user input .- then A will be displayed https://code.sololearn.com/ccTHco85uC1t/?ref=app


Burey Cbr✔[ Most active ] I copied the codes you gave me. Thank you for taking the time to help me. I can learn from both answers 👍👍


rodwynnejones Letters are separated by spaces and words by "/" Thanks for your answer.


Consider using the builtin maketrans() and translate() functions . Converting FROM text TO morse is relatively ease but the other way....oh ...not so sure...e.g. if an input is .--.-.-.-.-..---. how do you know where on character finishes and the next one starts (that's always puzzled me). You could probable use regular expression to pull the group of dots and dashes if a group was inputted with a space in between.


In python there's a split(separator, maxsplit) method for string literals. This method serves to separate parts of a string based on a common separator. If what you want is to translate a Morse code sentence into proper English, that's relatively simple, so long as you have that separator between Morse code "Characters". There's various references for this method on python.org, as well as here: https://www.geeksforgeeks.org/python-string-split/. Hope this helps.


Thanks to everyone that answered ☺️👍


alguien Me Puede Ayudar henryksen1913@gmail.com