G. Азбука Морзе

Вам дан английский текст. Закодируйте его с помощью азбуки Морзе Каждая буква заменяется на последовательность точек и тире. В качестве тире используйте обычный дефис: -, а в качестве точки — точку .. Например, буква 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 так принято обозначать переменные которые нельзя менять – в других языках программирования их называют константы. На самом деле эти переменные не являются константами в строгом смысле слова. В отличии от других языков программирования их можно менять. Но смысл от этого не меняется – другие программисты будут знать, что это значение изменять нельзя.

Посмотреть код

Решение

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()
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии