Условия задачи:
Конвертер азбуки Морзе. Азбука Морзе представляет собой кодировку, где каждая буква алфавита, каждая цифра и различные знаки препинания представлены серией точек и тире. В табл. 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()