三级菜单

menu = {
    '北京':{
        '海淀':{
            '五道口':{
                'soho':{},
                '网易':{},
                'google':{}
            },
            '中关村':{
                '爱奇艺':{},
                '汽车之家':{},
                'youku':{},
            },
            '上地':{
                '百度':{},
            },
        },
        '昌平':{
            '沙河':{
                '老男孩':{},
                '北航':{},
            },
            '天通苑':{},
            '回龙观':{},
        },
        '朝阳':{
            '群众':{},
            '门径':{}
        },
        '东城':{
            'txet':{},
            'txet2':{}
        },
    },
    '上海':{
        '闵行':{
            "人民广场":{
                '炸鸡店':{}
            }
        },
        '闸北':{
            '火车战':{
                '携程':{}
            }
        },
        '浦东':{
            '大桥':{},
            '小乔':{}
        },
    },
    '山东':{
        '青岛':{
            '市南':{},
            '市北':{},
            '胶州':{}
        },
        '济南':{
            '背带盒子':{},
            '趵突泉':{},
            '十字路口':{}
        },
        '潍坊':{
            '风筝':{},
            '火车站':{},
            '萝卜':{},
            '驾照':{}
        }
    },
}
falg =False
while not falg:
    for i1 in menu:
        print(i1)
    chose = input('请选择》1')
    if chose in menu:
        while not falg:
            for i2 in menu[chose]:
                print('	',i2)
            chose1=input('请选择》2')
            if chose1 in menu[chose]:
                while not falg:
                    for i3 in menu[chose][chose1]:
                        print('		',i3)
                    chose2 = input('请选择》3')
                    if chose2 in menu[chose][chose1]:
                        for i4 in menu[chose][chose1][chose2]:
                            print('			',i4)
                        chose3 = input('最后一层按b返回')
                        if chose3 =='b':
                            pass
                        elif chose3 =='q':
                            falg =True
                    if chose2 =='b':
                        break
                    elif chose2 =='q':
                        falg=True
            if chose1 =='b':
                break
            elif chose1=='q':
                falg =True
    if chose == 'b':
        break
    elif chose == 'q':
        falg=True

这种多层嵌套有点绕,得写下流程图。

没思路,没事,坚持多写。

原文地址:https://www.cnblogs.com/PYlog/p/8603449.html