Extra Credit # 1: Parentheses Matching SOlution

$30.00

Description

You are given a string of parentheses (“(“, “)”), braces(“{“, “}”) and brackets(“[“, “]”). ​ You need to

check whether each “(”, “{”, or “[” is paired with a matching “)”, “}”, or “[”.

For example, “( )(( )){([( )])}” and “()( )(( )){([( )])}” are matched correctly. While “)(( )){([( )])}”, “({[

])}” and “(“ are not matched correctly.

Write code to test whether such a string is matched correctly. Complete the code for the

method def match(exp).

class ListStack:

def __init__(self):

self._L = []

def push(self, item):

self._L.append(item)

def pop(self):

return self._L.pop()

def peek(self):

return self._L[-1]

def __len__(self):

return len(self._L)

def isempty(self):

return len(self) == 0

def match(exp):

d = {‘(‘:’)’, ‘{‘:’}’, ‘[‘:’]’}

L = list(exp)

stack = ListStack()

for c in L: # complete your code here

if stack.isempty():

return True

exp = ‘( )(( )){([( )])}’

print(exp)

print(match(exp))

exp = ‘( )(( )){([( )])})’

print(exp)

print(match(exp))

exp = ‘( [)(( )){([( )])})’

print(exp)

print(match(exp))

exp = ”

print(exp)

print(match(exp))

This extra credit assignment worth 0.5 point in your final grade.

Submit your code as usual to Mimir.