diff --git a/lesson.7.py b/lesson.7.py new file mode 100644 index 0000000..7a4c861 --- /dev/null +++ b/lesson.7.py @@ -0,0 +1,77 @@ +''' ****** Задание 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) + + +