Условия задачи:

 

Конвертер азбуки Морзе. Азбука Морзе представляет собой кодировку, где каждая буква алфавита, каждая цифра и различные знаки препинания представлены серией точек и тире. В табл. 8.4 и 8.5 показана часть этой азбуки.
Напишите программу, которая просит пользователя ввести строковое значение и затем преобразует это строковое значение в кодировку азбукой Морзе.

А • —

Б — • • •

В • — —

Г — — •

Д — • •

Е •

Ж • • • —

3 — — • •

И • •

Й • — — —

К — • —

Л • — • •

М — —

Н — •

О — — —

П • — — •

Р • — •

С • • •

Т —

У • • —

Ф • • — •

Х • • • •

Ц — • — •

Ч — — — •

Ш — — — —

Щ — — • —

Ъ • — — • — •

Ы — • — —

Ь — • • —

Э • • • — • • •

Ю • • — —

Я • — • —

 

Решение задачи:

#таблица азбуки морзе есть в книге, но я для примера взял из интернета. принцип один
#принцип создаем кортеж куда заносим эти данные сначала знак строки потом знак азбуки морзе
def main():
    morze = (' ', '   ', 'А', '• —', 'Б', '— • • •', 'В', '• — —', 'Г', '— — •', 'Д',
             '— • •', 'Е', '•', 'Ж', '• • • —', '3', '— — • •', 'И', '• •', 'Й', '• — — —',
             'К', '— • —', 'Л', '• — • •', 'М', '— —', 'Н', '— •', 'О', '— — —', 'П', '• — — •',
             'Р', '• — •', 'С', '• • •', 'Т', '—', 'У', '• • —', 'Ф', '• • — •',
             'Х', '• • • •', 'Ц', '— • — •', 'Ч', '— — — •', 'Ш', '— — — —',
             'Щ', '— — • —', 'Ъ', '• — — • — •', 'Ы', '— • — —', 'Ь', '— • • —', 'Э',
             '• • • — • • •', 'Ю', '• • — —', 'Я', '• — • —')
    morze_string = ''
    users_string = input('Введите сообщение:')
    for i in users_string.upper():
        morze_string += morze[morze.index(i)+1]
    print(morze_string)

main()