🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib
Питон для всех
Напишите программу, которая проверяет, сбалансированы ли все виды скобок в строке.
Одна строка, которая может содержать любые символы, включая три вида скобок: (), {}, [].
Один символ: +, если все виды скобок в строке сбалансированы, и - в противном случае.
{[()()]}
+
def is_balanced(text):
"""
Проверяет, сбалансированы ли скобки в строке.
Поддерживаемые типы скобок: (), [], {}.
"""
# Стек для хранения открывающих скобок
stack = []
# Словарь для сопоставления открывающих и закрывающих скобок
brackets_map = {
"(": ")",
"[": "]",
"{": "}"
}
# Множество открывающих скобок для быстрой проверки
opening_brackets = set(brackets_map.keys())
# Множество закрывающих скобок для быстрой проверки
closing_brackets = set(brackets_map.values())
for char in text:
if char in opening_brackets:
# Если символ - открывающая скобка, добавляем её в стек
stack.append(char)
elif char in closing_brackets:
# Если символ - закрывающая скобка
if not stack:
# Если стек пуст, значит для закрывающей скобки нет пары
return False
# Берем последнюю открывающую скобку из стека
last_open_bracket = stack.pop()
# Проверяем, соответствует ли она текущей закрывающей
if brackets_map[last_open_bracket] != char:
return False
# Если после прохода по всей строке стек пуст - все скобки закрыты правильно
return len(stack) == 0
# Основная часть программы
input_string = input()
if is_balanced(input_string):
print("+")
else:
print("-")
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...