Python

Обьясните код на питоне пожалуйста

 s = input()
r = ''
a = 0
b = 0
for b in s:
a = a + b == '('
if not a:
r = r + b
a = a - b == ')'
print(r)
Сама идея кода заведомо ошибочна - даже если поправить. Например, для строки:
 Это просто одиночный символ ')', не имеющий пары 
он выдаст:
 Это просто одиночный символ ' 
Но задача - удалить ПАРНЫЕ круглые скобки и их содержимое.

В самом коде абсолютно бессмысленная ненужная строка:
 b = 0 
И в двух местах забыты круглые скобки:
 a = a + (b == '(')
a = a - (b == ')')
|..daulet Tynyshtykov..|
|..daulet Tynyshtykov..|
78 793
Лучший ответ
Андрей Павлов а можешь обьяснить как работает код?
Нечего там объяснять, код просто неправильный и бессмысленый.
 for b in s: 
Этот цикл перебирает символы в строке `s`
Причем объявление b = 0 ни на что не влияет, на каждой итерации b будет равняться очередному символу в строке.
 a + b == '(' 
Число (а) суммирует со строкой (b), на первой же итерации выдаст ошибку. Арифметику нельзя выполнять между числом и строкой (есть 1 исключение).
Андрей Павлов а если убрать что б равен 0 то код будет правильным?
я думаю, что в коде забыли дописать чтобы брались именно значения keycodes от введенных строчных значений, а не их буквальные значения (строковые), и тогда идет сравнение что вычитание кейкода буквы из введенного значения равно кейкоду либо открывающей либо закрывающей круглой скобки
зачем это нужно - не понятно; равно как и не понятно зачем инициализировать b нулем, если она используется в цикле в качестве итератора
в данный момент - это бессмысленный код, он всегда будет выдавать последний символ введенного значения
 input_str = input() 
result = ''
a = b = 0
for symb in input_str:
a += symb == '('
if not a: # a - False, not a - True
result += symb
a -= symb == ')'
print(result)
Хорошо, код там реально был не рабочий, но я его переделал более менее. Единственный способ применения, как я понял - исключать из текста всё, что написано в скобках
 Хорошо((Сейчас а - True)), прикольно - вывод будет без скобок (как я понял) 
Андрей Альпирман Так - всё правильно, классический алгоритм подсчета скобок)) Вместо скобок, могли быть кавычки, фигурные скобки и пр...