Checkk if the Expression is well parenthensed en Python code example
Example 1: bracket balanced or not in python
def isBalanced(final_str):
type_brackets = ['()', '{}', '[]']
while any(x in final_str for x in type_brackets):
for br in type_brackets:
final_str = final_str.replace(br, '')
return not final_str
string = "{[]{()}}"
print(string, "-", "Balanced"
if isBalanced(string) else "Unbalanced")
Example 2: PYTHON STACK FUNCTION count the valid number of brackets Returns the total number of valid brackets in the string
import sys
def error(c, line_number, column_number):
print 'Error: unmatched', c, 'line', line_number, 'column', column_number
def check(stack, wanted, c, line_number, column_number):
if stack[-1] != wanted:
error(c, line_number, column_number)
else:
stack.pop()
def check_parentheses(f):
stack = list()
line_number = 0
for line in f:
line_number = line_number + 1
column_number = 0
for c in line:
column_number = column_number + 1
if c == '(' or c == '[' or c == '{':
stack.append(c)
elif c == ')':
check(stack, '(', ')', line_number, column_number)
elif c == ']':
check(stack, '[', ']', line_number, column_number)
elif c == '}':
check(stack, '{', '}', line_number, column_number)
def main():
filename = sys.argv[1]
try:
f = file(filename)
except IOError:
sys.stderr.write('Error: Cannot open file %s' % filename)
sys.exit(1)
check_parentheses(f)
f.close()
main()