您的位置:首页 > 编程语言 > Python开发

python-------------三级菜单

2017-12-13 14:13 134 查看
# -*- coding: utf-8 -*-
# Author   :Gogh
# @Time       :2017/10/31 15:57
# @Email   :361910002@qq.com
# 三级菜单的操作
menu = {
'北京': {
'海淀': {
'五道口': {
'soho': {},
'网易': {},
'google': {}
},
'中关村': {
'爱奇艺': {},
'汽车之家': {},
'youku': {},
},
'上地': {
'百度': {},
},
},
'昌平': {
'沙河': {
'老男孩': {},
'北航': {},
},
'天通苑': {},
'回龙观': {},
},
'朝阳': {},
'东城': {},
},
'上海': {
'闵行': {
"人民广场": {
'炸鸡店': {}
}
},
'闸北': {
'火车战': {
'携程': {}
}
},
'浦东': {},
},
'山东': {},
}

current_layer = menu
parent_layers = []  # 保存所有父级,最后一个元素永远都是父级
while True:
for k in current_layer:
print(k)
choice = input(">>>:").strip()
if len(choice) == 0: continue
if choice in current_layer:
parent_layers.append(current_layer)  # 在进入下一层之前,把当前层的(也就是下一层父级)追加到列表中
# 下一次loop,当用户选择b的时候,就可以直接取列表最后一个值出来
current_layer = current_layer[choice]  # 改成了子层
elif choice == "b":
if parent_layers:
current_layer = parent_layers.pop()  # 取出列表的最后一个值,因为它就是当前层的父级
else:
print("无此项!")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: