当前位置 : 主页 > 手机开发 > ROM >

三级菜单

来源:互联网 收集:自由互联 发布时间:2021-06-10
数据结构:menu = { ‘北京‘:{ ‘海淀‘:{ ‘五道口‘:{ ‘soho‘:{}, ‘网易‘:{}, ‘google‘:{} }, ‘中关村‘:{ ‘爱奇艺‘:{}, ‘汽车之家‘:{}, ‘youku‘:{}, }, ‘上地‘:{ ‘百度‘:{}, }, },
数据结构:
menu = {
    ‘北京‘:{
        ‘海淀‘:{
            ‘五道口‘:{
                ‘soho‘:{},
                ‘网易‘:{},
                ‘google‘:{}
            },
            ‘中关村‘:{
                ‘爱奇艺‘:{},
                ‘汽车之家‘:{},
                ‘youku‘:{},
            },
            ‘上地‘:{
                ‘百度‘:{},
            },
        },
        ‘昌平‘:{
            ‘沙河‘:{
                ‘老男孩‘:{},
                ‘北航‘:{},
            },
            ‘天通苑‘:{},
            ‘回龙观‘:{},
        },
        ‘朝阳‘:{},
        ‘东城‘:{},
    },
    ‘上海‘:{
        ‘闵行‘:{
            "人民广场":{
                ‘炸鸡店‘:{}
            }
        },
        ‘闸北‘:{
            ‘火车站‘:{
                ‘携程‘:{}
            }
        },
        ‘浦东‘:{},
    },
    ‘山东‘:{},
}


基础需求:75% 1. 可依次选择进入各子菜单 2. 可从任意一层往回退到上一层 3. 可从任意一层退出程序 所需新知识点:列表、字典 升级需求:10% 1. 使用一个while循环,且整体代码量不超过15行

下面是拓扑图

 

 

分享图片

然后是代码,这次代码的主要问题是变量名起的意义不大,要求都已经实现

1.可依次选择进入各子菜单

2. 可从任意一层n往回退到上一层

3. 可从任意一层q退出程序

请在pychrom里面运行

请按照程序提醒输入,不然要重新输入

 

#!./usr/bin/env.python3# _*_ coding:_utf-8 _*_# .Date:.2019/3/25menu = {    ‘北京‘:{        ‘海淀‘:{            ‘五道口‘:{                ‘soho‘:{},                ‘网易‘:{},                ‘google‘:{}            },            ‘中关村‘:{                ‘爱奇艺‘:{},                ‘汽车之家‘:{},                ‘youku‘:{},            },            ‘上地‘:{                ‘百度‘:{},            },        },        ‘昌平‘:{            ‘沙河‘:{                ‘老男孩‘:{},                ‘北航‘:{},            },            ‘天通苑‘:{},            ‘回龙观‘:{},        },        ‘朝阳‘:{},        ‘东城‘:{},    },    ‘上海‘:{        ‘闵行‘:{            "人民广场":{                ‘炸鸡店‘:{}            }        },        ‘闸北‘:{            ‘火车站‘:{                ‘携程‘:{}            }        },        ‘浦东‘:{},    },    ‘山东‘:{},}count = menu    # 开始把字典赋值,但是这个是一个动态的,并count_1 = []    # 创建一个列表,处理返回选项while True:    for bq in count:    # 把动态值赋给给bp        print(bq)    name = input("请问您要查询哪里呢!!退出请按(q)返回上一级请按(n): ").strip()    if name in count:  # 在字典中搜索输入值        count_1.append(count)   # 找到后执行,把动态值追加列表count_1里面        count = count[name]     # 重新赋值下级列表给count    elif name == "n":        if count_1:            count = count_1.pop()   # 把列表后面追加的值删掉后,重新赋值给count    elif name == "q":        break    else:        print("输入错误,请重新输入")
网友评论