Python第六天课后作业
程序员文章站
2024-03-16 20:58:40
...
第一题:以面向对象的方式,实现队列和栈的数据结构。
stack=[]
queue=[]
class Stack():
def Push_Stack(self): #入栈,向列表尾部添加元素
item=raw_input("入栈元素:")
stack.append(item)
def Pop_Stack(self): #出栈
if len(stack)==0:
print "空栈"
stack.pop()
def Info_Stack(self): #打印栈元素
for i in stack:
print i,
def getSize(self): #打印栈长度
print len(stack)
class Queue():
def En_Queue(self): #入队列,向列表头部插入元素
item = raw_input("入队列元素:")
queue.insert(0, item)
def De_Queue(self): #出队列
if len(queue) == 0:
print "空队列"
queue.pop()
def Info_Queue(self): #打印队列元素
for i in queue:
print i,
def getSize(self): #打印队列长度
print len(queue)
def Stack_Menu():
while True:
Stack_Menu = """
请选择:
1. 入栈
2. 出栈
3. 显示栈元素
4. 显示栈长度
5. 返回主菜单
"""
choice = input(Stack_Menu)
if choice==1:
s.Push_Stack()
elif choice==2:
s.Pop_Stack()
elif choice==3:
s.Info_Stack()
elif choice==4:
s.getSize()
elif choice==5:
return 1
def Queue_Menu():
while True:
Queue_Menu = """
请选择:
1. 入队列
2. 出队列
3. 显示队列元素
4. 显示队列长度
5. 返回主菜单
"""
choice = input(Queue_Menu)
if choice==1:
q.En_Queue()
elif choice==2:
q.De_Queue()
elif choice==3:
q.Info_Queue()
elif choice==4:
q.getSize()
elif choice==5:
return 1
s=Stack()
q=Queue()
while True:
Menu = """
****** 欢迎来到栈与队列的管理系统!******
1.栈的管理
2.队列的管理
3.退出
*************************************
请选择:"""
choice=input(Menu)
if choice==1:
Stack_Menu()
elif choice==2:
Queue_Menu()
elif choice==3:
exit(0)
else:
print "\n输入错误。请输入序号(1-2)"
部分运行截屏展示