It would seem that the 21st century, optical fiber, 3 / 4G and other delights of progress – what is Morse code, and even more so converter for Morse code to text, and from text to Morse code, and even in Python? But no, we are against peace 🙂
Most recently, I told my son about the history of communication, and remembered the Morse code. Given that he and his daughter go to robotics courses , as well as a recent conversation, I’ve quickly sprinkled the converter (plans to make an analogue of a Morse code radio station with children on Arduino).
It is built very simply: if – elif, and the converted code is added to a list, which, after processing, is displayed in full.
Important: the code is adapted for converting Morse code into Russian and back. Of course, you can redo the English version, but so lazy;) I hope you understand;)
-
def morse_text():
-
print('q - выход')
-
morse_table = []
-
while True:
-
string = str(input('Введите код Морзе (1 символ): '))
-
if string == ('q'):
-
break
-
elif string == '.-':
-
morse_code = ('а')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.......':
-
morse_code = (' ')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-...':
-
morse_code = ('б')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.--':
-
morse_code = ('в')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '--.':
-
morse_code = ('г')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-..':
-
morse_code = ('д')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.':
-
morse_code = ('е')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '...-':
-
morse_code = ('ж')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '--..•':
-
morse_code = ('з')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '..':
-
morse_code = ('и')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-.-':
-
morse_code = ('к')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.-..':
-
morse_code = ('л')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '--':
-
morse_code = ('м')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-.':
-
morse_code = ('н')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '---':
-
morse_code = ('о')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.--.':
-
morse_code = ('п')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.-.':
-
morse_code = ('р')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '...':
-
morse_code = ('с')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-':
-
morse_code = ('т')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '..-':
-
morse_code = ('у')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '..-.':
-
morse_code = ('ф')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '....':
-
morse_code = ('х')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-.-.':
-
morse_code = ('ц')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '---':
-
morse_code = ('ц')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '----':
-
morse_code = ('ш')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '--.-':
-
morse_code = ('щ')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '--.--':
-
morse_code = ('ъ')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-.--':
-
morse_code = ('ы')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '..--':
-
morse_code = ('ю')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.-.-':
-
morse_code = ('я')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.----':
-
morse_code = ('1')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '..---':
-
morse_code = ('2')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '...--':
-
morse_code = ('3')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '....-':
-
morse_code = ('5')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.....':
-
morse_code = ('5')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-....':
-
morse_code = ('6')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '--...':
-
morse_code = ('7')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '---..•':
-
morse_code = ('8')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '----.':
-
morse_code = ('9')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-----':
-
morse_code = ('0')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '......':
-
morse_code = ('. ')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.-.-.-':
-
morse_code = (', ')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '---...':
-
morse_code = (':')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-.-.-':
-
morse_code = (';')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-.--.-':
-
morse_code = ('(')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-.--.-':
-
morse_code = (')')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.-..-.':
-
morse_code = ('"')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '..--..':
-
morse_code = ('?')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '--..--':
-
morse_code = ('!')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.--.-.':
-
morse_code = ('@')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '-....-':
-
morse_code = ('-')
-
print(morse_code)
-
morse_table.append(morse_code)
-
elif string == '.......':
-
morse_code = (' ')
-
print(morse_code)
-
morse_table.append(morse_code)
-
-
print(morse_table)
-
morse_table = ''.join(morse_table)
-
print('Единой строкой: ', morse_table)
-
-
def text_morse():
-
text = []
-
text = str(input('Введите текст: ')).lower()
-
print(text)
-
morse = []
-
for string in text:
-
if string == 'а':
-
morse_code = ('• —')
-
print(morse_code)
-
morse.append(morse_code)
-
elif string == 'б':
-
morse_code = ('— • • •')
-
print('— • • •')
-
morse.append(morse_code)
-
elif string == 'в':
-
morse_code = ('• — —')
-
print('• — —')
-
morse.append(morse_code)
-
elif string == 'г':
-
morse_code = ('— — •')
-
print('— — •')
-
morse.append(morse_code)
-
elif string == 'д':
-
morse_code = ('— • •')
-
print('— • •')
-
morse.append(morse_code)
-
elif string == 'е':
-
morse_code = ('• ')
-
print('• ')
-
morse.append(morse_code)
-
elif string == 'ё':
-
morse_code = ('• ')
-
print('• ')
-
morse.append(morse_code)
-
elif string == 'ж':
-
morse_code = ('• • • —')
-
print('• • • —')
-
morse.append(morse_code)
-
elif string == 'з':
-
morse_code = ('— — • •')
-
print('— — • •')
-
morse.append(morse_code)
-
elif string == 'и':
-
morse_code = ('• •')
-
print('• •')
-
morse.append(morse_code)
-
elif string == 'к':
-
morse_code = ('— • —')
-
print('— • —')
-
morse.append(morse_code)
-
elif string == 'л':
-
morse_code = ('• — • •')
-
print('• — • •')
-
morse.append(morse_code)
-
elif string == 'м':
-
morse_code = ('— —')
-
print('— —')
-
morse.append(morse_code)
-
elif string == 'н':
-
morse_code = ('— •')
-
print('— •')
-
morse.append(morse_code)
-
elif string == 'о':
-
morse_code = ('— — —')
-
print('— — —')
-
morse.append(morse_code)
-
elif string == 'п':
-
morse_code = ('• — — •')
-
print('• — — •')
-
morse.append(morse_code)
-
elif string == 'р':
-
morse_code = ('• — •')
-
print('• — •')
-
morse.append(morse_code)
-
elif string == 'с':
-
morse_code = ('• • •')
-
print('• • •')
-
morse.append(morse_code)
-
elif string == 'т':
-
morse_code = ('—')
-
print('—')
-
morse.append(morse_code)
-
elif string == 'у':
-
morse_code = ('• • —')
-
print('• • —')
-
morse.append(morse_code)
-
elif string == 'ф':
-
morse_code = ('• • — •')
-
print('• • — •')
-
morse.append(morse_code)
-
elif string == 'х':
-
morse_code = ('• • • •')
-
print('• • • •')
-
morse.append(morse_code)
-
elif string == 'ц':
-
morse_code = ('— • — •')
-
print('— • — •')
-
morse.append(morse_code)
-
elif string == 'ч':
-
morse_code = ('— — — ')
-
print('— — — •')
-
morse.append(morse_code)
-
elif string == 'ш':
-
morse_code = ('— — — —')
-
print('— — — —')
-
morse.append(morse_code)
-
elif string == 'щ':
-
morse_code = ('— — • —')
-
print('— — • —')
-
morse.append(morse_code)
-
elif string == 'ъ':
-
morse_code = ('— — • — —')
-
print('— — • — —')
-
morse.append(morse_code)
-
elif string == 'ы':
-
morse_code = ('— • — —')
-
print('— • — —')
-
morse.append(morse_code)
-
elif string == 'ь':
-
morse_code = ('— • • —')
-
print('— • • —')
-
morse.append(morse_code)
-
elif string == 'ю':
-
morse_code = ('• • — —')
-
print('• • — —')
-
morse.append(morse_code)
-
elif string == 'я':
-
morse_code = ('• — • —')
-
print('• — • —')
-
morse.append(morse_code)
-
elif string == '1':
-
morse_code = ('• — — — —')
-
print('• — — — —')
-
morse.append(morse_code)
-
elif string == '2':
-
morse_code = ('• • — — —')
-
print('• • — — —')
-
morse.append(morse_code)
-
elif string == '3':
-
morse_code = ('• • • — —')
-
print('• • • — —')
-
morse.append(morse_code)
-
elif string == '4':
-
morse_code = ('• • • • —')
-
print('• • • • —')
-
morse.append(morse_code)
-
elif string == '5':
-
morse_code = ('• • • • •')
-
print('• • • • •')
-
morse.append(morse_code)
-
elif string == '6':
-
morse_code = ('— • • • •')
-
print('— • • • •')
-
morse.append(morse_code)
-
elif string == '7':
-
morse_code = ('— — • • •')
-
print('— — • • •')
-
morse.append(morse_code)
-
elif string == '8':
-
morse_code = ('— — — • •')
-
print('— — — • •')
-
morse.append(morse_code)
-
elif string == '9':
-
morse_code = ('— — — — •')
-
print('— — — — •')
-
morse.append(morse_code)
-
elif string == '0':
-
morse_code = ('— — — — —')
-
print('— — — — —')
-
morse.append(morse_code)
-
elif string == '.':
-
morse_code = ('• • • • • •')
-
print('• • • • • •')
-
morse.append(morse_code)
-
elif string == ',':
-
morse_code = ('• — • — • —')
-
print('• — • — • —')
-
morse.append(morse_code)
-
elif string == ':':
-
morse_code = ('— — — • • •')
-
print('— — — • • •')
-
morse.append(morse_code)
-
elif string == ';':
-
morse_code = ('— • — • —')
-
print('— • — • —')
-
morse.append(morse_code)
-
elif string == '(':
-
morse_code = ('— • — — • —')
-
print('— • — — • —')
-
morse.append(morse_code)
-
elif string == ')':
-
morse_code = ('— • — — • —')
-
print('— • — — • —')
-
morse.append(morse_code)
-
elif string == '"':
-
morse_code = ('• — • • — •')
-
print('• — • • — •')
-
morse.append(morse_code)
-
elif string == '?':
-
morse_code = ('• • — — • •')
-
print('• • — — • •')
-
morse.append(morse_code)
-
elif string == '!':
-
morse_code = ('— — • • — —')
-
print('— — • • — —')
-
morse.append(morse_code)
-
elif string == '@':
-
morse_code = ('• — — • — •')
-
print('• — — • — •')
-
morse.append(morse_code)
-
elif string == '-':
-
morse_code = ('— • • • • —')
-
print('— • • • • —')
-
morse.append(morse_code)
-
elif string == ' ':
-
morse_code = ('.......')
-
print('.......')
-
morse.append(morse_code)
-
-
morse = ''.join(morse)
-
print('Единой строкой: ', morse)
-
-
def choice():
-
choice = str(input(' Из текста в код Морзе - 1\n Из кода Морзе в текст - 2\n'))
-
if choice == '1':
-
text_morse()
-
elif choice == '2':
-
morse_text()
-
-
choice()
The code itself is available for download at the link .
In case of questions – please write to the mail.
Yes, by the way, I feel that I will soon be preparing a series of materials on Arduino 🙂 But this is not yet accurate … 🙂 Thank you for your attention! And do not forget to share a link to a post on social networks.