python_29_三级菜单

menu={
    '北京':{
        '海淀':{
            '五道口':{
                '搜狐':{},
                '网易':{},
                'Google':{},
                     },
            '中关村':{
                    '爱奇艺':{},
                    '汽车之家':{},
                    '优酷':{},
                      },
            '上地':{
                    '百度':{},
                    },
                },
        '昌平':{
            '沙河':{
                '老男孩':{},
                '北航':{},
                   },
            '天通苑': {},
            '回龙观': {},
                },
        '朝阳':{},
        '东城':{}
             },
    '上海':{
        '闵行':{
            '人民广场':{
                '炸鸡店':{},
                        },
                },
        '闸北':{
            '火车站':{
                '携程':{},
                     },
                },
        '浦东':{}
            },
    '山东':{
        '德州':{},
        '青岛':{},
        '济南':{}
            }
}
exit_flag=False

while not exit_flag:
    for i in menu:
        print(i)

    choice=input('>>选择进入1:')
    if choice in menu:
        while not exit_flag:
            for i2 in menu[choice]:
                print('\t',i2)
            choice2= input('>>选择进入2:')
            if choice2 in menu[choice]:
                while not exit_flag:
                    for i3 in menu[choice][choice2]:
                        print('\t\t', i3)
                    choice3 = input('>>选择进入3:')
                    if choice3 in menu[choice][choice2]:
                        # while not exit_flag:
                        #     for i4 in menu[choice][choice2][choice3]:
                        #         print('\t\t',i4)
                        #     choice4=input('最后一层,按b返回>>:')
                        #     if choice4=='b':
                        #         break
                        #     elif choice4=='q':
                        #         exit_flag = True
                        for i4 in menu[choice][choice2][choice3]:
                            print('\t\t', i4)
                        choice4=input('最后一层,按b返回>>:')
                        if choice4 == 'b':
                            pass#表示什么也不做,仅仅是为了不出错,是个占位符
                        elif choice4=='q':
                            exit_flag=True
                            # 以上7行可以有以上注释的8行进行替换,效果相同
                    if choice3 == 'b':
                        break
                    elif choice3 == 'q':
                        exit_flag = True
            if choice2 == 'b':
                break
            elif choice2 == 'q':
                exit_flag = True

  

posted @ 2018-01-05 10:48  耐烦不急  阅读(229)  评论(0编辑  收藏  举报