project_python.3.2/lesson.7.py

78 lines
3.4 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

''' ****** Задание 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)