🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
ProgerLib Python para todos
Escriba un programa que verifique si todos los tipos de corchetes están balanceados en la línea.
Una línea que puede contener cualquier carácter, incluidos tres tipos de corchetes: & nbsp;
Un símbolo: +, si todos los tipos de corchetes en la línea están balanceados, y - en caso contrario.
{[() ()]}
+
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("-")
🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
AD
Publicidad
Ejecutando tu código...