check balanced parenthesis in python











up vote
0
down vote

favorite












I want to make a code that can match parenthesis.
Assumptions are that parenthesis is given by string, and the input is given by list.



So below is my code:
I got the error that:




'AttributeError: 'list' object has no attribute 'parenthesis''




Please let me know what's wrong with my code.



def push(item):  
stack.append(item)


def peek():
if len(stack) != 0:
return stack[-1]

def pop(): #delete step
if len(stack) != 0:
item = stack.pop(-1)
return item

def check(item):
global stack1
stack1 =
global stack2
stack2 =
if item == '{':
stack1.push('1')
elif item == '}':
stack1.pop()
elif item == '(':
stack2.push('2')
elif item == ')':
stack2.pop()

def parenthesis(self):
for i in len(self):
tail = self.peek
tail.check
self.pop()
if len(stack1) == 0 & len(stack2) ==0 :
print('pass')
else:
print('fail')

stack =
push('{')
push('}')
stack.parenthesis()









share|improve this question









New contributor




Heewon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • Try to implement stack in line with OOP paradigm and avoid using global variables. For example you may create a Stack class
    – artona
    Nov 19 at 11:47










  • thank you artona!! and i'll try Stack class. Can i ask one question that why do you recommend to avoid using global variables? they have some disadvantages?
    – Heewon
    Nov 19 at 11:50












  • Making long story short: they are dangerous because you can forget about them when developing your program. Here is the better thread on this: stackoverflow.com/questions/423379/…
    – artona
    Nov 19 at 11:53










  • artona thank you . have a nice day :)
    – Heewon
    Nov 19 at 11:55










  • it looks like your code was copied from a source that originally had a stack class, i suggest you look into the original code
    – AntiMatterDynamite
    Nov 19 at 11:57















up vote
0
down vote

favorite












I want to make a code that can match parenthesis.
Assumptions are that parenthesis is given by string, and the input is given by list.



So below is my code:
I got the error that:




'AttributeError: 'list' object has no attribute 'parenthesis''




Please let me know what's wrong with my code.



def push(item):  
stack.append(item)


def peek():
if len(stack) != 0:
return stack[-1]

def pop(): #delete step
if len(stack) != 0:
item = stack.pop(-1)
return item

def check(item):
global stack1
stack1 =
global stack2
stack2 =
if item == '{':
stack1.push('1')
elif item == '}':
stack1.pop()
elif item == '(':
stack2.push('2')
elif item == ')':
stack2.pop()

def parenthesis(self):
for i in len(self):
tail = self.peek
tail.check
self.pop()
if len(stack1) == 0 & len(stack2) ==0 :
print('pass')
else:
print('fail')

stack =
push('{')
push('}')
stack.parenthesis()









share|improve this question









New contributor




Heewon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • Try to implement stack in line with OOP paradigm and avoid using global variables. For example you may create a Stack class
    – artona
    Nov 19 at 11:47










  • thank you artona!! and i'll try Stack class. Can i ask one question that why do you recommend to avoid using global variables? they have some disadvantages?
    – Heewon
    Nov 19 at 11:50












  • Making long story short: they are dangerous because you can forget about them when developing your program. Here is the better thread on this: stackoverflow.com/questions/423379/…
    – artona
    Nov 19 at 11:53










  • artona thank you . have a nice day :)
    – Heewon
    Nov 19 at 11:55










  • it looks like your code was copied from a source that originally had a stack class, i suggest you look into the original code
    – AntiMatterDynamite
    Nov 19 at 11:57













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I want to make a code that can match parenthesis.
Assumptions are that parenthesis is given by string, and the input is given by list.



So below is my code:
I got the error that:




'AttributeError: 'list' object has no attribute 'parenthesis''




Please let me know what's wrong with my code.



def push(item):  
stack.append(item)


def peek():
if len(stack) != 0:
return stack[-1]

def pop(): #delete step
if len(stack) != 0:
item = stack.pop(-1)
return item

def check(item):
global stack1
stack1 =
global stack2
stack2 =
if item == '{':
stack1.push('1')
elif item == '}':
stack1.pop()
elif item == '(':
stack2.push('2')
elif item == ')':
stack2.pop()

def parenthesis(self):
for i in len(self):
tail = self.peek
tail.check
self.pop()
if len(stack1) == 0 & len(stack2) ==0 :
print('pass')
else:
print('fail')

stack =
push('{')
push('}')
stack.parenthesis()









share|improve this question









New contributor




Heewon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











I want to make a code that can match parenthesis.
Assumptions are that parenthesis is given by string, and the input is given by list.



So below is my code:
I got the error that:




'AttributeError: 'list' object has no attribute 'parenthesis''




Please let me know what's wrong with my code.



def push(item):  
stack.append(item)


def peek():
if len(stack) != 0:
return stack[-1]

def pop(): #delete step
if len(stack) != 0:
item = stack.pop(-1)
return item

def check(item):
global stack1
stack1 =
global stack2
stack2 =
if item == '{':
stack1.push('1')
elif item == '}':
stack1.pop()
elif item == '(':
stack2.push('2')
elif item == ')':
stack2.pop()

def parenthesis(self):
for i in len(self):
tail = self.peek
tail.check
self.pop()
if len(stack1) == 0 & len(stack2) ==0 :
print('pass')
else:
print('fail')

stack =
push('{')
push('}')
stack.parenthesis()






python xcode list stack parentheses






share|improve this question









New contributor




Heewon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Heewon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited Nov 19 at 13:23







user10638812













New contributor




Heewon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Nov 19 at 11:43









Heewon

1




1




New contributor




Heewon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Heewon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Heewon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












  • Try to implement stack in line with OOP paradigm and avoid using global variables. For example you may create a Stack class
    – artona
    Nov 19 at 11:47










  • thank you artona!! and i'll try Stack class. Can i ask one question that why do you recommend to avoid using global variables? they have some disadvantages?
    – Heewon
    Nov 19 at 11:50












  • Making long story short: they are dangerous because you can forget about them when developing your program. Here is the better thread on this: stackoverflow.com/questions/423379/…
    – artona
    Nov 19 at 11:53










  • artona thank you . have a nice day :)
    – Heewon
    Nov 19 at 11:55










  • it looks like your code was copied from a source that originally had a stack class, i suggest you look into the original code
    – AntiMatterDynamite
    Nov 19 at 11:57


















  • Try to implement stack in line with OOP paradigm and avoid using global variables. For example you may create a Stack class
    – artona
    Nov 19 at 11:47










  • thank you artona!! and i'll try Stack class. Can i ask one question that why do you recommend to avoid using global variables? they have some disadvantages?
    – Heewon
    Nov 19 at 11:50












  • Making long story short: they are dangerous because you can forget about them when developing your program. Here is the better thread on this: stackoverflow.com/questions/423379/…
    – artona
    Nov 19 at 11:53










  • artona thank you . have a nice day :)
    – Heewon
    Nov 19 at 11:55










  • it looks like your code was copied from a source that originally had a stack class, i suggest you look into the original code
    – AntiMatterDynamite
    Nov 19 at 11:57
















Try to implement stack in line with OOP paradigm and avoid using global variables. For example you may create a Stack class
– artona
Nov 19 at 11:47




Try to implement stack in line with OOP paradigm and avoid using global variables. For example you may create a Stack class
– artona
Nov 19 at 11:47












thank you artona!! and i'll try Stack class. Can i ask one question that why do you recommend to avoid using global variables? they have some disadvantages?
– Heewon
Nov 19 at 11:50






thank you artona!! and i'll try Stack class. Can i ask one question that why do you recommend to avoid using global variables? they have some disadvantages?
– Heewon
Nov 19 at 11:50














Making long story short: they are dangerous because you can forget about them when developing your program. Here is the better thread on this: stackoverflow.com/questions/423379/…
– artona
Nov 19 at 11:53




Making long story short: they are dangerous because you can forget about them when developing your program. Here is the better thread on this: stackoverflow.com/questions/423379/…
– artona
Nov 19 at 11:53












artona thank you . have a nice day :)
– Heewon
Nov 19 at 11:55




artona thank you . have a nice day :)
– Heewon
Nov 19 at 11:55












it looks like your code was copied from a source that originally had a stack class, i suggest you look into the original code
– AntiMatterDynamite
Nov 19 at 11:57




it looks like your code was copied from a source that originally had a stack class, i suggest you look into the original code
– AntiMatterDynamite
Nov 19 at 11:57

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});






Heewon is a new contributor. Be nice, and check out our Code of Conduct.










 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53373921%2fcheck-balanced-parenthesis-in-python%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes








Heewon is a new contributor. Be nice, and check out our Code of Conduct.










 

draft saved


draft discarded


















Heewon is a new contributor. Be nice, and check out our Code of Conduct.













Heewon is a new contributor. Be nice, and check out our Code of Conduct.












Heewon is a new contributor. Be nice, and check out our Code of Conduct.















 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53373921%2fcheck-balanced-parenthesis-in-python%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Wiesbaden

Marschland

Dieringhausen