【python练习】多级菜单

基本功能:
1.可依次选择进入各子菜单
2.可从任意一层往回退到上一层
3.可从任意一层退出程序

使用说明:
通过输入进入各子菜单,输入'u'返回上一级菜单,输入'q'退出程序。

menu = {
    '北京':{
        '海淀':{
            '五道口':{
                'soho':{},
                '网易':{},
                'google':{}
            },
            '中关村':{
                '爱奇艺':{},
                '汽车之家':{},
                'youku':{},
            },
            '上地':{
                '百度':{},
            },
        },
        '昌平':{
            '沙河':{
                '老男孩':{},
                '北航':{},
            },
            '天通苑':{},
            '回龙观':{},
        },
        '朝阳':{},
        '东城':{},
    },
    '上海':{
        '闵行':{
            "人民广场":{
                '炸鸡店':{}
            }
        },
        '闸北':{
            '火车站':{
                '携程':{}
            }
        },
        '浦东':{},
    },
    '山东':{},
}
menu
#!/usr/bin/env python
# -*- coding: utf-8 -*-

lis = []
while True:
    menu_tem = menu
    for i in range(len(lis)):
        menu_tem = menu_tem[lis[i]]
    for i in menu_tem:
        print(i)
    choose = input('>>>').strip()
    if choose == 'u' and len(lis) != 0:
        lis.pop()
    elif choose == 'q':
        break
    elif choose in menu_tem and (choose != 'u' or len(lis) != 0):
        lis.append(choose)



原文地址:https://www.cnblogs.com/q1ang/p/8870314.html