forked from flypythoncom/python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstack.py
More file actions
43 lines (34 loc) · 914 Bytes
/
stack.py
File metadata and controls
43 lines (34 loc) · 914 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
stack = []
def pushit():
stack.append(raw_input("enter a string:").strip())
def popit():
if len(stack) == 0:
print "stack is empty!\n"
else:
print 'Removed![',`stack.pop()`,']'
def viewstack():
print stack
CMDS ={'u': pushit,'o':popit,'v':viewstack}
def showmenu():
pr = """
p(U)sh
p(O)p
(V)iew
(Q)uit
enter the choice: """
while True:
while True:
try:
choice = raw_input(pr).strip()[0].lower()
except (EOFError,KeyboardInterrupt,IndexError):
choice ="q"
print "\nYou picked:[%s]" % choice
if choice not in "uovq":
print "Invalid option,try again"
else:
break
if choice == "q":
break
CMDS[choice]()
if __name__ == "__main__":
showmenu()