重新写了一边三级菜单,加了一些自己的理解

Posted 人无远虑

tags:

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

menu = {
    \'北京\':{
        \'海淀\':{
            \'五道口\':{
                \'soho\':{},
                \'网易\':{},
                \'google\':{}
            },
            \'中关村\':{
                \'爱奇艺\':{},
                \'汽车之家\':{},
                \'youku\':{},
            },
            \'上地\':{
                \'百度\':{},
            },
        },
        \'昌平\':{
            \'沙河\':{
                \'老男孩\':{},
                \'北航\':{},
            },
            \'天通苑\':{},
            \'回龙观\':{},
        },
        \'朝阳\':{
            \'群众\':{},
            \'门径\':{}
        },
        \'东城\':{
            \'txet\':{},
            \'txet2\':{}
        },
    },
    \'上海\':{
        \'闵行\':{
            "人民广场":{
                \'炸鸡店\':{}
            }
        },
        \'闸北\':{
            \'火车战\':{
                \'携程\':{}
            }
        },
        \'浦东\':{
            \'大桥\':{},
            \'小乔\':{}
        },
    },
    \'山东\':{
        \'青岛\':{
            \'市南\':{},
            \'市北\':{},
            \'胶州\':{}
        },
        \'济南\':{
            \'背带盒子\':{},
            \'趵突泉\':{},
            \'十字路口\':{}
        },
        \'潍坊\':{
            \'风筝\':{},
            \'火车站\':{},
            \'萝卜\':{},
            \'驾照\':{}
        }
    },
}
\'\'\'
首先打印出来第一层菜单
然后让用户选择菜单
如果选择的选项在里边,就循环打印第二层菜单
然后继续选择,如果选择的在就打印第三层菜单,然后需要打印出提示,最底层,让用户选b,退菜单  #这里的‘让’子其实也是inpu!!!!!!!
然后跟eilf选项,直接q出去

\'\'\'
flag =False
while not flag:
    for i1 in menu:
        print(i1)
    chose1=input(\'请选择》1\')
    if chose1 in menu:              
        while not flag:
            for i2 in menu[chose1]: #有chose1层后,就开始for menu[chose1],同理下边有chose2的时候,for才有menu[chose2]
                print(i2)
            chose2 = input(\'请选择》2\')
            if chose2 in menu[chose1]:  #men[chose1]其实就是现实“请选择》2”的内容,这里需要理解一下。
                while not flag:
                    for i3 in menu[chose1][chose2]: 
                        print(i3)
                    chose3 = input(\'请选择》3\')
                    if chose3 in menu[chose1][chose2]:
                        for i4 in menu[chose1][chose2][chose3]:
                            print(i4)
                        chose4= input(\'最后一层,按b或者q\')    #我在这里忘记加chose4了,chose4是最后一层的显示,不能只打印一句话,
                        if chose4 ==\'b\':
                            pass                #这里要用pass
                        elif chose4 ==\'q\':
                            flag=True
                    if chose3 == \'b\':
                        break                   #这里用break
                    elif chose3 ==\'q\':
                        flag=True
            if chose2 == \'b\':
                break
            elif chose2 ==\'q\':
                flag=True
    if chose1 ==\'b\':
        break
    elif chose1 ==\'q\':
        flag=True

 

 

以上是关于重新写了一边三级菜单,加了一些自己的理解的主要内容,如果未能解决你的问题,请参考以下文章

三级菜单小练习

三级菜单的增删改-2018.2.22(下)

省市区三级联动下拉菜单应该怎么写

Day09

js+数据库生成三级动态tree导航菜单

Vue iview-admin框架二级菜单改为三级菜单