def correct_brackets(s):
stack = ''
for char in s:
if char == '(' or char == ')':
stack += char
while '()' in stack:
stack = stack.replace('()', '', 1)
return len(stack) == 0
s = input("")
print(correct_brackets(s))
def correct_brackets(s):
res=0
for char in s:
match char:
case ')':
res -=1
if res < 0: # закрывает неоткрытую скобку
return False
case '(':
res +=1
return res == 0
# test
print(correct_brackets(')ab( '))
print(correct_brackets('(ab) '))
print(correct_brackets('abc(g(ef(h)'))
print(correct_brackets('abc(g(ef(h))'))
print(correct_brackets('abc(g)(ef(h))'))
print(correct_brackets('abc(g(ef(h))))'))
Используй команду return с такими значениями:
True — расстановка верная;
False — расстановка не верная.
Вызови функцию с данными, которые вводит пользователь.
вот моя не рабочая версия
def correct_brackets(s):
stack = []
for char in s:
if char == '(':
stack.append(char)
elif char == ')':
if not stack:
return False
stack.pop()
return len(stack) == 0
s = input("")
print(correct_brackets(s)
Пример 1
Ввод Вывод
print()
True
Пример 2
Ввод Вывод
int(input()
False