Я написал приведенный ниже код в Python, но я получаю ошибки в массиве «стек» каждый раз, когда он говорит о стеке, кроме начального назначения. Ошибка: «Экземпляр 'list' не имеет члена 'pu sh'».
Чтобы уточнить, этот фрагмент кода должен проходить через каждый символ и проверять, является ли он открывающей скобкой. Он поместит sh в стек, открывающую скобку и я сопоставлю с помощью оператора if / else, чтобы увидеть, совпадают ли они парами. Если не совпадает, вернуть false.
Кто-нибудь знает, почему этот код выдает ошибки в стеке? Стеки для меня очень новы, и в них нет смысла. Это первый фрагмент кода, который я написал на Python, поэтому в моем синтаксисе тоже может быть ошибка.
Я взял предложение кода из видео о стеках и попытался перевести его на python, чтобы увидеть, как он работает. Код, который они использовали, был всего лишь руководством к тому, что должно произойти.
str = '()[(]())'
arr = ['(','[']
stack = []
for char in str:
if char in arr:
stack.push(char)
else:
if stack.empty():
top = stack.pop()
break
if(top == '[' and char != ']') or (top == '(' and char != ')'):
break
return stack.empty()