1
# -*- coding:utf-8 -*-
menu = {
'北京': {
'海淀': {
'五道口': {
'soho': {},
'网易': {},
'google': {}
},
'中关村': {
'爱奇艺': {},
'汽车之家': {},
'youku': {},
},
'上地': {
'百度': {},
},
},
'昌平': {
'沙河': {
'老男孩': {},
'北航': {},
},
'天通苑': {},
'回龙观': {},
},
'朝阳': {},
'东城': {},
},
'上海': {
'闵行': {
"人民广场": {
'炸鸡店': {}
}
},
'闸北': {
'火车站': {
'携程': {}
}
},
'浦东': {},
},
'山东': {},
}
prompt = "请输入菜单名,进入子菜单\n 输入'b'回到上级菜单\n 输入'q'退出程序:"
current_menu = menu # 当前菜单
parent_menu = [] # 父菜单
while True:
if len(current_menu) == 0:
print('当前菜单为最底层')
for i in current_menu:
print('菜单-->', i)
choice = input(prompt).strip()
if not choice: continue
if choice in current_menu:
parent_menu.append(current_menu) # 记录父菜单列表
current_menu = current_menu[choice] # 当前菜单变为原菜单的子菜单
elif choice == 'b':
if len(parent_menu) != 0:
current_menu = parent_menu.pop() # 此命令删除最后一个列表元素并返回值给当前菜单 。
else:
print('已到菜单最顶层')
elif choice == 'q':
print('退出程序')
break
else:
print('请重新输入')
转载于:https://blog.51cto.com/317487/2168998