Практические упражнения Python
Проверка сбалансированности скобок
Функция are_brackets_balanced принимает строку и проверяет, сбалансированы ли в ней скобки. Это особенно полезно в разработке интерпретаторов и компиляторов для проверки корректности выражений.
def are_brackets_balanced(s):
stack = []
bracket_map = {'(': ')', '[': ']', '{': '}'}
open_brackets = set(bracket_map.keys())
for char in s:
if char in open_brackets:
stack.append(char)
elif stack and char == bracket_map[stack[-1]]:
stack.pop()
else:
return False
return not stack
# Пример использования:
print(are_brackets_balanced("([{}])")) # Выведет True
print(are_brackets_balanced("([)]")) # Выведет False
|