Вводится текст со сбалансированными скобками, программа выводит на экран содержимое скобок. На пробелы и знаки препинания внимание не обращать, вложенных скобок в исходной строке нет.
python
def extract_brackets(text):
stack = [] # создаем пустой стек
output = "" # создаем пустую строку для записи содержимого скобок
# проходим по каждому символу в строке
for char in text:
# если символ - открывающаяся скобка, добавляем ее в стек
if char == "(" or char == "[" or char == "{":
stack.append(char)
# если символ - закрывающаяся скобка
elif char == ")" or char == "]" or char == "}":
# проверяем, есть ли соответствующая открывающаяся скобка в стеке
if stack:
opening_bracket = stack.pop() # удаляем верхушку стека
# добавляем содержимое скобки в выходную строку
output += opening_bracket + char
# если стек пуст или нет соответствующей открывающейся скобки
else:
return "Ошибка: скобки не сбалансированы"
# проверяем, пуст ли стек
if not stack:
return output
else:
return "Ошибка: скобки не сбалансированы"
Пример использования функции `extract_brackets`:
python
text = input("Введите текст со сбалансированными скобками: ")
result = extract_brackets(text)
print(result)
На вход передаем текст со сбалансированными скобками, например:
Введите текст со сбалансированными скобками: Hello (world) [and] {friends}
Ожидаемый результат:
(world)[and]{friends}
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет