Нужно разбить страку на множество подстрок? у меня есть шифр морзе --. . .-.-..-....-..-.---.-.-....- --. . .-.-... но в нём нет пробелов мне надо сделать все варианты разделов строки Как это сделать циклами? или вообще как это сделать? К примеру есть строка .-. вот варианты её разбития: .- . . - . . -. мне нужно сделать программу которая будет делать это автоматически!
Для решения данной задачи можно использовать рекурсивную функцию. Вот пример кода на 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 s, 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.
Для решения данной задачи можно использовать рекурсивную функцию. Вот пример кода на 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 s, 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.