zoukankan      html  css  js  c++  java
  • Python三级菜单增删改查

    #主要知识点是,字典,列表是使用
    menu = {'北京':{
    '朝阳':{
    '国贸':{
    'CICC':{},
    'HP':{},
    '渣打银行':{},
    'CCTV':{}
    },
    '望京':{
    '陌陌':{},
    '奔驰':{},
    '360':{}
    },
    '三里屯':{
    '优衣库':{},
    'apple':{}
    }
    },
    '昌平':{
    '沙河':{
    '老男孩':{},
    '阿泰包子':{}
    },
    '天通苑':{
    '链家':{},
    '我爱我家':{}
    },
    '回龙观':{}
    },
    '海淀':{
    '五道口':{
    '谷歌':{},
    '网易':{},
    'Souhu':{},
    'Sogo':{},
    '快手':{}
    },
    '中关村':{
    'youku':{},
    'Iqiyi':{},
    '汽车之家':{},
    '新东方':{}
    }
    }
    },
    '上海':{
    '浦东':{
    '陆家嘴':{
    'CICC':{},
    '高盛':{},
    '摩根':{}
    },
    '外滩':{}
    },
    '闵行':{},
    '静安':{}
    },
    '山东':{
    '济南':{},
    '德州':{
    '乐陵':{
    '丁务镇':{},
    '城区':{}
    },
    '平原':{}
    },
    '青岛':{}
    }
    }

    #读取menu


    paret_layers=[]#存贮查询出来的父级
    current_layers=menu

    while True:
    print('欢迎使用省市查询系统'.center(50,"*"))
    for key in current_layers:
    print(">>>>",key)
    print('输入你要查询的地区省市或新增[add]、修改[revise]、删除[delete]、返回上一级[q]')
    choice = input(">>>").strip()
    #查询
    if choice in current_layers:
    paret_layers.append(current_layers)#将查询出数据当做父级存贮起来
    current_layers=current_layers[choice]
    #新增
    elif choice=='add':
    user_add=input("请输入你要添加的省市区:").strip()
    if user_add in current_layers:
    print('你添加的省市信息已经存在')
    else:
    current_layers[user_add]={}
    continue
    #修改

    elif choice == 'revise':
    revise = input("输入你要修改的省市信息:").strip()
    if revise in current_layers:
    user_revise_after = input('修改为:').strip()
    current_layers[user_revise_after]=current_layers[revise]
    del current_layers[revise]#将原有被修改的信息删除掉不然会有重复的信息
    continue
    #删除
    elif choice == 'delete':
    user_delete=input("请输入你要删除的省市信息:").strip()
    if user_delete in current_layers:
    #parent_layers.append(current_layer)
    del current_layers[user_delete]
    continue
    else:
    print("删除的信息不存在")

    # 返回
    elif choice == 'q':
    if paret_layers:
    current_layers = paret_layers.pop() # 删除掉父级的最后数据,取出然后赋值到子级上
    else:
    print('目前为最上级菜单,输入q后为退出系统!')
    break

    else:
    print('输入非法,请重新输入选择!')
  • 相关阅读:
    log4j 日志分级处理
    http接口调用,传递json格式带双引号问题
    测试输出方法执行时间
    关于 propertychange 兼容性问题
    表结构的修改
    固定table表头
    tomcat 的log4j配置问题
    ie 导出不行,不兼容问题,或只出现后缀文件无法识别
    Spring3.x错误----java.lang.ClassNotFoundException:org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException
    Spring3.x错误----java.lang.ClassNotFoundException:org.aopalliance.inter.MethodInterceptor
  • 原文地址:https://www.cnblogs.com/lanyinhao/p/9110097.html
Copyright © 2011-2022 走看看