0

Error with python's project

Im solving python data structures project and all cases are ok but the number 7 is giving me error. The thing is i dont have sololearn plus or that membership so i cant see which is the answer. If anyone has the membership, could check the expected output please. here's my code,by the way: def balanced(expression): contadorA=0 contadorC=0 for i in expression: if i=="(": contadorA+=1 elif i==")": contadorC+=1 if contadorA==contadorC: return True else: return False print(balanced(input()))

16th May 2021, 12:32 AM
Yami Francø
Yami Francø - avatar
4 Answers
+ 2
Hi! Maybe you dont check the stack to be empty "...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."
16th May 2021, 1:17 AM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
+ 2
spacePrincess Even those who have SoloLearn pro cannot see the hidden cases. This is intended so that you think about all possible cases and edge cases to come up with a proper solution. You're supposed to use a stack like structure, such as a list, and add each '(' item to it, while popping an item for each ')'. When done, if the stack has any items left in it, then it is not balanced. Likewise, if the stack doesn't have any items in it when the current element in the expression is ')', then it can't possibly be balanced. Note: The if-else at the end of your current function is redundant, and as is could currently be reduced to; return contadorA == contadorC
16th May 2021, 3:50 AM
ChaoticDawg
ChaoticDawg - avatar
+ 1
Ohh right. I guess easy way isnt usefull anymore. Thank you very much
16th May 2021, 1:29 AM
Yami Francø
Yami Francø - avatar
+ 1
I have almost the same code as you have. But i have one more check. I always check in the loop if contadorC <= contadorA, if it is not true, i return false. For me number 7 works fine. I think test case 7 looks somewhat like this: '(()))('.
16th May 2021, 2:32 PM
Paul
Paul - avatar