Top.Mail.Ru
Ответы

Задача по Python сложность:2 из 5 муторная только

Правильной скобочной последовательностью называется строка, состоящая только из символов «скобки» (открывающих "(" и закрывающих ")"), где каждой закрывающей скобке найдётся соответствующая открывающая. Например, () и (()()) — правильные последовательности, а (()(() или )( — нет. Напишите функцию bracket_check(test_string), которая проверяет, является ли поступившая на вход строка правильной скобочной последовательностью. Если да, она должна печатать YES, в противном случае — NO. Обратите внимание, что пустая строка также является правильной скобочной последовательностью.
Пример 1
Ввод:
bracket_check("()")
Вывод:
YES
Пример 2
Ввод:
bracket_check("(()((")
Вывод:
NO

По дате
По рейтингу
Аватар пользователя
Новичок
3мес

Удобно структуру подходящую использовать, словарь, например:

123
 elem={'(':1,')':-1} 
frm=input(' скоб форма=') 
print(('Yes','No')[sum(elem[i] for i in frm)]) 
Аватар пользователя
Искусственный Интеллект
3мес

Да чего тут "муторного"-то? Все же элементарно абсолютно:

12345678910
 def bracket_check(s): 
    bc = 0 
    for c in list(s): 
        if (c == '('): 
            bc=bc+1 
        if (c == ')'): 
            bc=bc-1 
        if (bc<0): 
            return False 
    return bc == 0