Skip to content

Commit 1d51027

Browse files
committed
add lab2
1 parent 5a0727f commit 1d51027

File tree

3 files changed

+95
-0
lines changed

3 files changed

+95
-0
lines changed

lab2_1.py

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
class Stack:
2+
def __init__(self, lists = None):
3+
if lists == None:
4+
self.items = []
5+
else:
6+
self.items = lists
7+
print(self.items)
8+
9+
def size(self):
10+
return len(self.items)
11+
12+
def isEmpty(self):
13+
return self.size() == 0
14+
15+
def pop(self):
16+
return self.items.pop()
17+
18+
def peek(self):
19+
return self.items[-1]
20+
21+
def push(self,obj):
22+
self.items.append(obj)
23+
24+
def print_stack(self):
25+
print(self.items)
26+
27+
p = Stack(['eiei','kiki'])
28+
print(p.pop())
29+
p.push('eiei')
30+
p.print_stack()

lab2_2.py

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
order = str(input('Enter : '))
2+
3+
LEFT_BRACKET = ('[','{','(')
4+
RIGHT_BRACKET = (']','}',')')
5+
BRACKET = LEFT_BRACKET + RIGHT_BRACKET
6+
7+
8+
left_bracket_stack = []
9+
right_bracket_stack = []
10+
11+
def match(bracket,next_bracket):
12+
if bracket == '[':
13+
return next_bracket == ']'
14+
elif bracket == '(':
15+
return next_bracket == ')'
16+
elif bracket == '{':
17+
return next_bracket == '}'
18+
19+
err = False
20+
for char in order:
21+
if char in BRACKET:
22+
if char in LEFT_BRACKET:
23+
left_bracket_stack.append(char)
24+
else:
25+
bracket = left_bracket_stack.pop()
26+
if match(bracket,char):
27+
pass
28+
else:
29+
err = True
30+
break
31+
32+
if len(left_bracket_stack) != 0:
33+
err = True
34+
35+
if err:
36+
print('MISMATCH')
37+
else:
38+
print('MATCH')
39+

lab2_3.py

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
class CarStack:
2+
def __init__(self):
3+
self.MAX_SIZE = 4
4+
self.stack = []
5+
6+
def isFull(self):
7+
return len(self.stack) >= self.MAX_SIZE
8+
def depart(self,car):
9+
if car in self.stack:
10+
self.stack.remove(car)
11+
else:
12+
if len(self.stack) == 0:
13+
print('cannot depart : soi empty')
14+
else:
15+
print('cannot depart : not found')
16+
17+
def arrive(self,car):
18+
if int(car) in range(1,self.MAX_SIZE+1) and not self.isFull():
19+
self.stack.append(car,int(car))
20+
print('space left',self.MAX_SIZE - len(self.stack))
21+
else:
22+
if self.isFull():
23+
print('cannot arrive : soi full')
24+
else:
25+
print('cannot arrive : No car',car)
26+

0 commit comments

Comments
 (0)