🎉 تهانينا! 🎉
لقد حللت المهمة ببراعة! كان صعبًا لكنك وجدت الحل الصحيح. أنت خطوة أقرب إلى الاحتراف! استمر، كل مرحلة تجعلك أقوى.
ProgerLib Python للجميع
تغيير السمة
اكتب برنامجًا يتحقق مما إذا كانت جميع أنواع الأقواس متوازنة في السطر.
سطر واحد يمكن أن يحتوي على أي أحرف، بما في ذلك ثلاثة أنواع من الأقواس: ()، {}، [].
رمز واحد: +، إذا كانت جميع أنواع الأقواس في السطر متوازنة، و - بخلاف ذلك.
{[() ()]}
+
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
إعلان
جارٍ تشغيل الكود...