Balanced Parentheses python problem
I made another way to solve the problem in data structures and when running the code in the final project the last test become a fail and it is hidden so I want to know why my code has the error with my sure, it is very good. this is the question and I achieve the problem but I want to change the way: Balanced Parentheses Parentheses are balanced if all opening parentheses have their corresponding closing parentheses. Given an expression as input, we need to find out whether the parentheses are balanced or not. For example, "(x+y)*(z-2*(6))" is balanced, while "7-(3(2*9))4) (1" is not balanced. The problem can be solved using a stack. Push each opening parenthesis to the stack and pop the last inserted opening parenthesis whenever a closing parenthesis is encountered. If the closing bracket does not correspond to the opening bracket, then stop and say that the brackets are not balanced. Also, after checking all the parentheses, we need to check the stack to be empty -- if it's not empty, then the parentheses are not balanced. Implement the balanced() function to return True if the parentheses in the given expression are balanced, and False if not. Sample Input: (a( ) eee) ) Sample Output: False and my new solution is: openParenthesis = ['[', '{', '('] closeParenthesis = [']', '}', ')'] # the number of close Parentheses must be an equal number of the open Parenthesis def check(inp = input()): stackOpen = [i for i in inp if i in openParenthesis ] stackClose = [c for c in inp if c in closeParenthesis ] if len(stackClose) == len(stackOpen): print(True) else: print(False) check() #if you want to know about the true solution this is the code: openPranthesis = ['[', '{', '('] closePranthesis = [']', '}', ')'] def balanced(check): liStack = [] for i in check: if i in openPranthesis: liStack.append(i) elif i in closePranthesis: pos = closePranthesis.index(i)