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

    这是一个基于python写的三级菜单。

    流程:首先让用户知道省市县,通过输入市名直接查看到市名,再输入市名直接查看到各县以及公司,并在进入省市县前保存它们的父级,通过按b键可返回上一层。

    以下是代码


    menu = {
    '北京':{
    '朝阳':{
    '国贸':{
    'CICC':{},
    'HP':{},
    '渣打银行':{},
    'CCTV':{},
    },
    '望京':{
    '陌陌':{},
    '奔驰':{},
    '360':{},
    },
    '三里屯':{
    '优衣库':{},
    'apple':{},
    },
    },
    '昌平':{
    '沙河':{
    '老男孩':{},
    '阿泰包子':{},
    },
    '天通苑':{
    '链家':{},
    '我爱我家':{},
    },
    '回龙观':{},
    },
    '海淀':{
    '五道口':{
    '谷歌':{},
    '网易':{},
    'Sohu':{},
    'Sogo':{},
    '快手':{},
    },
    '中关村':{
    'youku':{},
    'Iqiyi':{},
    '汽车之家':{},
    '新东方':{},
    'QQ':{},
    },
    },
    },
    '上海': {
    '浦东':{
    '陆家嘴':{
    'CICC':{},
    '高盛':{},
    '摩根':{},
    },
    '外滩':{},

    },
    '闵行':{},
    '静安':{},
    },
    '山东': {
    '济南':{},
    '德州':{
    '乐磷':{
    '丁务镇':{},
    '城区':{},
    },
    '平原':{},
    },
    '青岛':{},
    },
    }

    current_layer = menu    #实现动态循环
    parent_layers = [] #保存所有父级,最后一个元素永远都是父亲级

    while True:
    for key in current_layer:
    print(key)
    choice = input(">>>:").strip()
    if len(choice) == 0:continue
    if choice in current_layer:
    parent_layers.append(current_layer) #在进入下已层之前,把当前层(也就是下一层父级)追加到列表中,下一次
    #loop,当用户选择b的时候,就可以取出列表的最后一个值出来
    current_layer = current_layer[choice] #改成了子层
    elif choice == 'b':
    if parent_layers: #判断为空
    current_layer = parent_layers.pop() #取出列表的最后一个值,因为他就是当前层的父级

    else:
    print("无此项。")

    最后,十分感谢老男孩的alex老师,本人是通过视频学习的,因为还是个苦逼的打工仔,等实现自己想做的工作后,一定请各位大佬吃饭。













  • 相关阅读:
    TreeView拖动
    反射机制
    SQLServer2005/2008 XML数据类型操作
    开发与研发:一字之差的感想
    设置在64位机器上的IIS(IIS6/IIS7)兼容32位程序(64位ODBC和32位ODBC的问题同样适用)
    setTimeout和setInterval的使用
    Oracle 安装/使用、配置/卸载
    链接sql数据库以及Oracle 数据库和启动缓存以及停止缓存
    jQuery学习笔记—— .html(),.text()和.val()的使用
    C# List<T>用法
  • 原文地址:https://www.cnblogs.com/1024ndd/p/11046050.html
Copyright © 2011-2022 走看看