File tree 3 files changed +95
-0
lines changed
3 files changed +95
-0
lines changed Original file line number Diff line number Diff line change
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 ()
Original file line number Diff line number Diff line change
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
+
Original file line number Diff line number Diff line change
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
+
You can’t perform that action at this time.
0 commit comments