78 lines
3.4 KiB
Python
78 lines
3.4 KiB
Python
''' ****** Задание 7 из 20 *********
|
||
* Напишите программу, которая по введённому английскому тексту кодирует каждое слово в азбуке Морзе.
|
||
|
||
Каждая буква заменяется на последовательность точек и тире. В качестве тире используйте обычный дефис: -, а в качестве
|
||
точки — точку .. Например, буква g превратится в трёхсимвольную строку --.. Между закодированными буквами ставится
|
||
ровно один пробел. Например, слово Help превратится в .... . .-.. .--..
|
||
Обратите внимание, что строчные и заглавные буквы кодируются одинаково.
|
||
|
||
Формат ввода
|
||
Весь текст записан в единственной строке. Текст состоит из английских букв и пробелов, других символов в тексте нет.
|
||
В тексте не может быть двух или более пробелов подряд.
|
||
|
||
Формат вывода
|
||
Выведите каждое слово исходного текста, закодированное азбукой Морзе, на отдельной строке.
|
||
Количество строк в ответе должно совпадать с количеством слов в исходном тексте.
|
||
|
||
|
||
Подсказка
|
||
Создайте словарь MORSE со следующим содержимым:
|
||
|
||
|
||
'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': '----.'
|
||
Организуйте перебор символов вводимой строки.
|
||
|
||
Если символ в верхнем регистре присутствует в словаре - выведите ему соответствующее значение.
|
||
|
||
Если символ является пробелом - переведи курсор на следующую строку.
|
||
|
||
Пример 1
|
||
Ввод
|
||
|
||
Hello world
|
||
Вывод
|
||
|
||
.... . .-.. .-.. ---
|
||
.-- --- .-. .-.. -..
|
||
'''
|
||
|
||
|
||
if __name__ == "__main__":
|
||
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': '--..',
|
||
'0': '-----', '1': '.----', '2': '..---',
|
||
'3': '...--', '4': '....-', '5': '.....',
|
||
'6': '-....', '7': '--...', '8': '---..',
|
||
'9': '----.', ' ': ' ',
|
||
}
|
||
|
||
user_text = input()
|
||
|
||
for character in user_text:
|
||
morse_symbol = MORSE_CODE[character.upper()]
|
||
separator = ' ' if character != ' ' else '\n'
|
||
print(morse_symbol, end=separator)
|
||
|
||
|
||
|