python三级菜单制作 day4

限于喜欢 提交于 2019-12-04 15:34:33

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

数据结构:

menu = {
    '北京':{
        '海淀':{
            '五道口':{
                'soho':{},
                '网易':{},
                'google':{}
            },
            '中关村':{
                '爱奇艺':{},
                '汽车之家':{},
                'youku':{},
            },
            '上地':{
                '百度':{},
            },
        },
        '昌平':{
            '沙河':{
                '老男孩':{},
                '北航':{},
            },
            '天通苑':{},
            '回龙观':{},
        },
        '朝阳':{},
        '东城':{},
    },
    '上海':{
        '闵行':{
            "人民广场":{
                '炸鸡店':{}
            }
        },
        '闸北':{
            '火车站':{
                '携程':{}
            }
        },
        '浦东':{},
    },
    '山东':{},
}
由于是循环查询 ,所以写个while

curreen = menustorage = []while True:    for k in curreen:  #从menu菜单里面拿出数据        print(k)#打印出最外面的一层data 让用户选择    choose = input('>>>:').strip()#接受的用户输出数据赋值给变量choose    if choose == 'q':#用户输入q退出程序        exit()    if not choose:continue #判断用户如果没有正确输出 就跳出当前这行什么也不做    if choose in curreen:#判断用户输的在菜单里面没有        storage.append(choose)#进入每一层的记录存放到列表里面        print(storage)        curreen = curreen[choose]#进入下一层 menu[][]    elif choose == 'b':        if len(storage) != 0: #列表里面的记录不为空             curreen = storage.pop()#弹出最后一次的记录并删除        else:            print('已经是最顶层了')

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!