#!/usr/local/bin/python3
#AUTHOR:anqixiang
#DATE:2020-01-26
#MODIFY:
#FUNCTION:列表模拟栈结构
alist=[]
#压栈
def push_it():
data = input('数据: ')
alist.append(data)
#出栈
def pop_it():
if alist:
print('从栈中弹出: %s' % alist.pop())
else:
print('空栈')
#查询
def view_it():
print(alist)
def show_menu():
# 把函数保存到字典中
cmds = {'0': push_it, '1': pop_it, '2': view_it }
prompt = '''(0) 压栈
(1) 出栈
(2) 查询
(3) 退出
请选择(0/1/2/3): '''
while True:
# 删除用户输入字符串两端的空格
choice = input(prompt).strip()
if choice not in list('0123'):
print('无效输入,请重试')
continue
if choice == '3':
print('Bye-Bye')
break
cmds[choice]() # 从字典中取出函数并调用
if __name__ == '__main__':
show_menu()