On 7/21/2011 5:16 PM, David Merrick wrote:
##from stack import Stackclass Stack: def __init__(self): self.items =[] def isEmpty(self): return self.items ==[] def push(self,item): self.items.append(item) def pop(self,item): self.items.pop() def peek(self): return self.items[len(self.items)-1] def size(self): return len(self.items) def parChecker(symbolString): s = Stack() balanced = True index = 0 while index < len(symbolString) and balanced: symbol = symbolString[index] if symbol in "([{": s.push(symbol) else: if s.isEmpty(): balanced = False else: top = s.pop() if not matches(top,symbol): balanced = False index+=1 if balanced and s.isEmpty(): return True else: return False def matches(open,close): opens = "([{" closers = ")]}" opens.index(open) == closers.index(close) symbolString = "()" print(parChecker(symbolString)) _*Output*_ () returns False should be true (() returns False which is correct I can't find the error please help me
What do you tkink matches returns, and why? Therein is the problem. Also FWIW you import Stack them redefine it. Why? -- Bob Gailer 919-636-4239 Chapel Hill NC
_______________________________________________ Tutor maillist - [email protected] To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor
