Нужно разбить страку на множество подстрок? у меня есть шифр морзе --. . .-.-..-....-..-.---.-.-....- --. . .-.-... но в нём нет пробелов мне надо сделать все варианты разделов строки Как это сделать циклами? или вообще как это сделать?
К примеру есть строка .-. вот варианты её разбития:
.- .
. - .
. -.
мне нужно сделать программу которая будет делать это автоматически!

6 Ноя 2019 в 19:48
251 +1
1
Ответы
1

Для решения данной задачи можно использовать рекурсивную функцию. Вот пример кода на Python:

def split_morse_code(s):
result = []
def backtrack(s, current):
if not s:
result.append(current)
return
for i in range(1, len(s) + 1):
if si in morse_code_dict.keys()<br>                backtrack(si, current + [s[:i]])
backtrack(s, [])
return result
morse_code_dict = {
'.-': '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'
}
morse_code = "--. . .-.-..-....-..-.---.-.-....- --. . .-.-..."
morse_code = morse_code.split()
for code in morse_code:
partitions = split_morse_code(code)
for partition in partitions:
translation = ''
for p in partition:
translation += morse_code_dict[p]
print(translation)

Этот код разбивает строку с шифром Морзе на все возможные варианты, подставляет соответствующие буквы, и выводит результат. Можно также добавить дополнительные символы, такие как цифры и знаки препинания, в morse_code_dict.

19 Апр 2024 в 02:50
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир