三级菜单

Posted 噼里啪啦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三级菜单相关的知识,希望对你有一定的参考价值。

menu = {
    ‘北京‘:{
        ‘海淀‘:{
            ‘五道口‘:{
                ‘soho‘:{},
                ‘网易‘:{},
                ‘google‘:{}
            },
            ‘中关村‘:{
                ‘爱奇艺‘:{},
                ‘汽车之家‘:{},
                ‘youku‘:{},
            },
            ‘上地‘:{
                ‘百度‘:{},
            },
        },
        ‘昌平‘:{
            ‘沙河‘:{
                ‘老男孩‘:{},
                ‘北航‘:{},
            },
            ‘天通苑‘:{},
            ‘回龙观‘:{},
        },
        ‘朝阳‘:{},
        ‘东城‘:{},
    },
    ‘上海‘:{
        ‘闵行‘:{
            "人民广场":{
                ‘炸鸡店‘:{}
            }
        },
        ‘闸北‘:{
            ‘火车战‘:{
                ‘携程‘:{}
            }
        },
        ‘浦东‘:{},
    },
    ‘山东‘:{},
}
menu_list = [ menu]
temp = menu  #将dict赋值给temp
while True:
    for i in temp:  #先遍历第一轮的val
        print(i)       #打印第一轮的val
    choico = input(‘>>‘)
    if len(choico) == ‘‘:continue    #判断是否字典的key 不是的话就直接返回
    if choico in temp:     #是否字典里面的内容
        menu_list.append(temp)    #添加当前层到列表
        temp = temp[choico]      # 循环的时候,一直是寻找你输入的key值的val
    elif choico.lower() == ‘b‘:      #判断是b
        if menu_list:        
            temp = menu_list[-1]     #获取你menu_list中最后一个值,
            menu_list.pop()              #删除menu_list中最后一个值
    elif choico.lower() == ‘p‘:
        print(‘-------end----------‘)
        break

  

menu = {
‘北京‘:{
‘海淀‘:{
‘五道口‘:{
‘soho‘:{},
‘网易‘:{},
‘google‘:{}
},
‘中关村‘:{
‘爱奇艺‘:{},
‘汽车之家‘:{},
‘youku‘:{},
},
‘上地‘:{
‘百度‘:{},
},
},
‘昌平‘:{
‘沙河‘:{
‘老男孩‘:{},
‘北航‘:{},
},
‘天通苑‘:{},
‘回龙观‘:{},
},
‘朝阳‘:{},
‘东城‘:{},
},
‘上海‘:{
‘闵行‘:{
"人民广场":{
‘炸鸡店‘:{}
}
},
‘闸北‘:{
‘火车战‘:{
‘携程‘:{}
}
},
‘浦东‘:{},
},
‘山东‘:{},
}
menu_list = [ menu]
temp = menu
while True:
for i in temp:
print(i)
choico = input(‘>>‘)
if len(choico) == ‘‘:continue
if choico in temp:
menu_list.append(temp)
temp = temp[choico]
elif choico.lower() == ‘b‘:
if menu_list:
temp = menu_list[-1]
menu_list.pop()
elif choico.lower() == ‘p‘:
print(‘-------end----------‘)
break

以上是关于三级菜单的主要内容,如果未能解决你的问题,请参考以下文章

python-三级菜单和购物车程序代码(补发)

TreeUtils工具类一行代码实现列表转树 实战Java8 三级菜单 三级分类 附视频

1-2 三级菜单

Python 三级菜单

代码段-- 三级菜单 (基础版)

三级菜单-2018.2.21