码迷,mamicode.com
首页 > 编程语言 > 详细

Python入门-三级菜单

时间:2018-05-25 21:07:23      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:pop   choice   app   删除   pen   []   rip   三级菜单   menu   

menu = {
    ‘北京‘:{
        ‘海淀‘:{
            ‘五道口‘:{
                ‘soho‘:{},
                ‘网易‘:{},
                ‘google‘:{}
            },
            ‘中关村‘:{
                ‘爱奇艺‘:{},
                ‘汽车之家‘:{},
                ‘youku‘:{},
            },
            ‘上地‘:{
                ‘百度‘:{},
            },
        },
        ‘昌平‘:{
            ‘沙河‘:{
                ‘优衣库‘:{},
                ‘北航‘:{},
            },
            ‘天通苑‘:{},
            ‘回龙观‘:{},
        },
        ‘朝阳‘:{},
        ‘东城‘:{},
    },
    ‘上海‘:{
        ‘闵行‘:{
            "人民广场":{
                ‘炸鸡店‘:{}
            }
        },
        ‘闸北‘:{
            ‘火车站‘:{
                ‘携程‘:{}
            }
        },
        ‘浦东‘:{},
    },
    ‘山东‘:{},
}


需求:
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序
所需新知识点:列表、字典

基础版:
while True:
    for i in menu:
        print(i)
    province = input("请选择省份:  (按Q退出)")
    if province == ‘Q‘:
        exit()
    else:
        print(‘输入错误‘)
    if province in menu:
        while True:
            for i in menu[province]:
                print(i)
            city = input("请选择市:     (按Q退出,q返回)")
            if city == ‘Q‘:
                exit()
            if city == ‘q‘:
                break
            else:
                print(‘输入错误‘)
            if city in menu[province]:
                while True:
                    for i in menu[province][city]:
                        print(i)
                    county = input("请选择区或县:    (按Q退出,q返回)")
                    if county == ‘Q‘:
                        exit()
                    if county == ‘q‘:
                        break
                    else:
                        print(‘输入错误‘)
                    if county in menu[province][city]:
                        while True:
                            for i in menu[province][city][county]:
                                print(i)
                            choice = input(‘Q退出,q返回:‘)
                            if choice == ‘Q‘:
                                exit()
                            if choice == ‘q‘:
                                break
                            else:
                                print(‘输入错误‘)

装逼版:

rank = menu
last_rank = []
while True:
    for i in rank:
        print(i)
    choice = input(‘>:‘).strip()
    if choice in rank:
        last_rank.append(rank)      # 将当前菜单添加到列表
        rank = rank[choice]         # 进入下一层菜单
    elif choice == ‘b‘:
        if len(last_rank) != 0:
            rank = last_rank.pop()  # 删除列表最后一位元素,从而返回上一层
    elif choice == ‘Q‘:
        exit()

  

Python入门-三级菜单

标签:pop   choice   app   删除   pen   []   rip   三级菜单   menu   

原文地址:https://www.cnblogs.com/zxf123/p/9090151.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!