Вам дан английский текст. Закодируйте его с помощью азбуки Морзе Каждая буква заменяется на последовательность точек и тире. В качестве тире используйте обычный дефис: -
, а в качестве точки — точку .
. Например, буква g превратится в трёхсимвольную строку --.
. Между закодированными буквами ставится ровно один пробел. Например, слово Help
превратится в .... . .-.. .--.
. Обратите внимание, что строчные и заглавные буквы кодируются одинаково.
Формат ввода
Весь текст записан в единственной строке. Текст состоит из английских букв и пробелов, других символов в тексте нет. В тексте не может быть двух или более пробелов подряд.
Формат вывода:
Выведите каждое слово исходного текста, закодированное азбукой Морзе, на отдельной строке.
Количество строк в ответе должно совпадать с количеством слов в исходном тексте.
Примечание
Один из вариантов словаря с Азбукой Морзе:
'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': '--..',
'0': '-----', '1': '.----', '2': '..---',
'3': '...--', '4': '....-', '5': '.....',
'6': '-....', '7': '--...', '8': '---..',
'9': '----.'
Пример
Ввод
Hello world
Вывод
.... . .-.. .-.. ---
.-- --- .-. .-.. -..
Ввод
Help me SOS
Вывод
.... . .-.. .--.
-- .
... --- ...
Решение
Простая задача на словари. Задаем словарь, где каждой английской букве соответствует код Морзе*. Читаем строку и для каждой буквы выводим соотвествующий символ. Если встретили пробел – переводим вывод на новую строку. Но можно и добавить пробел в словарь со значением ‘\n’. тогда все еще немного упроститься.
* Обратите внимание на то, что имя словаря задано заглавными буквами. В python так принято обозначать переменные которые нельзя менять – в других языках программирования их называют константы. На самом деле эти переменные не являются константами в строгом смысле слова. В отличии от других языков программирования их можно менять. Но смысл от этого не меняется – другие программисты будут знать, что это значение изменять нельзя.
Посмотреть код
Решение
MORZE = {'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': '--..',
'0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-',
'5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.'}
for char in input():
if char != ' ':
print(MORZE[char.upper()], end=' ')
else:
print()