🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
编写一个程序,检查字符串中所有类型的括号是否匹配平衡。
一行可能包含任意字符的文本,其中包括三种类型的括号: (), {}, []。
输出一个符号:如果字符串中所有类型的括号都是平衡的,则输出 +,否则输出 -。
{[() ()]}
+
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
广告
正在运行代码...