zoukankan      html  css  js  c++  java
  • 三级菜单

    数据结构:
    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/25

    menu = {
    '北京':{
    '海淀':{
    '五道口':{
    '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("输入错误,请重新输入")
    
    
  • 相关阅读:
    数据库里面的表空间,用户在实际开发中的使用
    并行编程的模型机制
    临时表在开发中的使用

    HIbernate编程模型
    网络数据如何可靠传输
    Spring Security编程模型
    java的缓存框架
    sort函数使用自定义数据排序使用
    FailOver的机制
  • 原文地址:https://www.cnblogs.com/bimg1999/p/10625343.html
Copyright © 2011-2022 走看看