python三级联动

#以字典的形式 保存相关省市数据
menu={
    '北京':{
        '朝阳':{
            '国贸':{
                'CICC':{},
                'HP':{},
                '银行':{},
                'CCTV':{}
            },
            '望京':{
                '陌陌':{},
                '奔驰':{},
                '360':{}
            },
            '三里屯':{
                '优衣库':{},
                'apple':{}
            }

        }
        ,'昌平':{
            '沙河':{
                '老男孩':{},
                'old boy':{}
            },
            '天通苑':{
                '链家':{},
                '我爱我家':{}
            },
            '回龙观':{}
        }
        ,'三里屯':{
            '五道口':{
                '谷歌':{},
                '百度':{},
                '搜狐':{}
            }
        }
    },
    '上海':{
        '浦东':{
            '陆家嘴':{
                'CICC':{},
                '高盛':{},
                '摩根':{}
            },
            '外滩':{}
        },
        '闵行':{},
        '静安':{}
    },
    '山东':{
        '济南':{},
        '德州':{
            '乐龄':{},
            '玉城':{},
            '聊城':{}
        },
        '青岛':{}
    }
}
# 可以一层一层的进入所有曾,
#可以再任意曾退出
#可以在每一层返回上一层
#每层的循环 来寻找想要的信息
back_flag=False #用于返回上一层
exit_flag=False # 用于退出整个程序
while not back_flag and not exit_flag:
    for key in menu:
        print(key)
    choice=input(">>").strip()
    if choice in menu:
        while not back_flag and not exit_flag: #让程序停在第二层
            for key2 in menu[choice]:
                print(key2)
            choice2=input('>>').strip()
            if choice2== 'q':
                back_flag = True
            if choice2 in menu[choice]:
                while not back_flag and not exit_flag:
                    for key3 in menu[choice][choice2]:
                        print(key3)
                    choice3=input('>>').strip()
                    if choice3 == 'q':
                        back_flag = True
                    if choice3 in menu[choice][choice2]:
                        while not back_flag and not exit_flag:
                            for key4 in menu[choice][choice2][choice3]:
                                print(key4)
                            choice4 = input('>>').strip()
                            if choice4=='q':
                                back_flag=True
                            if choice4=='b':
                                exit_flag=True

                        else:
                            back_flag=False
                else:
                    back_flag = False
        else:
            back_flag = False
原文地址:https://www.cnblogs.com/qiujichu/p/10294092.html