Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import sys
- def parentesis(data):
- stack=[]
- for p in data:
- if p == '(':
- stack.append(p)
- elif p == ')':
- if len(stack) == 0:
- return False
- stack.pop(-1)
- else:
- raise Exception("simbolo invalido: " + str(p))
- return len(stack) == 0
- def parentesis2(data):
- stack=[]
- f={'(': (lambda x: stack.append(x)), ')': (lambda x: stack.pop(-1))}
- try:
- map(lambda x: f[x](x), data)
- except IndexError:
- return False
- return len(stack) == 0
- def parentesis3(data):
- valores = [x == '(' and 1 or -1 for x in data]
- tmp=0
- for x in valores:
- if tmp < 0: return False
- tmp += x
- return tmp==0
- def parentesis4(data):
- return 0 == reduce(lambda a, b: a < 0 and (-2*len(data)) or a + b, [x == '(' and 1 or -1 for x in data], 0)
- print parentesis4(sys.argv[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement