#主要知识点是,字典,列表是使用
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('输入非法,请重新输入选择!')

Python三级菜单增删改查的更多相关文章

  1. Python列表的增删改查排嵌套特殊输出格式

    Python列表的增删改查排嵌套特殊输出格式 一.列表的样子: a = ['q' , 'w' , 'e ', 'r','t'] a为列表名,[ ]为列表内容,' '为列表内的元素,'q'为a[0] 二 ...

  2. 使用python操作XML增删改查

    使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...

  3. python列表的增删改查和嵌套

    列表 python常用的数据类型 可承载任意的数据类型 列表是有序的,可索引.切片(步长) 列表的创建 list1 = [1, 2, 'whll'] #1. list2 = list() #2. #3 ...

  4. DAY5(PYTHON) 字典的增删改查和dict嵌套

    一.字典的增删改查 dic={'name':'hui','age':17,'weight':168} dict1={'height':180,'sex':'b','class':3,'age':16} ...

  5. bootstrap+Ajax+SSM(maven搭建)表单增删改查

    前后端分离,前端利用ajax调用后端API接收json数据,进行表单的增删改查 软件架构 IDE:IDEA 数据库:mysql jdk:1.8 tomcat:9 后端:springmvc,mybati ...

  6. MyBatis---简单增删改查的带事物的例子

    本例子包含了对数据库表简单的增删改查的操作,并且包含事物.该例子只适用于MySQL数据库.该例子需要手动创建数据库以及数据库表 例子中所需要的jar包,详查MyBatis---简介 一个entity类 ...

  7. python字典的增删改查

    字典dict 知识点: {}括起来,以键值对形式存储的容器性数据类型: 键-必须是不可变数据类型,且是唯一的: -值可以是任意数据类型.对象. 优点:关联性强,查询速度快. 缺点:以空间换时间. 字典 ...

  8. Python全栈开发记录_第二篇(文件操作及三级菜单栏增删改查)

    python3文件读写操作(本篇代码大约100行) f = open(xxx.txt, "r", encoding="utf-8") 不写“r”(只读)默认是只 ...

  9. 洗礼灵魂,修炼python(91)-- 知识拾遗篇 —— pymysql模块之python操作mysql增删改查

    首先你得学会基本的mysql操作语句:mysql学习 其次,python要想操作mysql,靠python的内置模块是不行的,而如果通过os模块调用cmd命令虽然原理上是可以的,但是还是不太方便,那么 ...

随机推荐

  1. tornado 笔记

    简单比较Django和Tornado Django是走大而全的方向,注重的是高效开发,最出名的是全自动化管理后台 Tornado走的是少而精的方向,注重的是性能的优化,最出名的是异步非堵塞 安装方式: ...

  2. Linux VMware安装CentOS

    VMware安装CentOS   1           检查BIOS虚拟化支持 2           新建虚拟机 3           新建虚拟机向导 4           创建虚拟空白光盘 ...

  3. Hadoop的单机模式、伪分布式模式和完全分布式模式

    1.单机(非分布式)模式 这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统. 2.伪分布式运行模式 这种模式也是在一台单机上运行,但用不同的Java进程模仿分布式运行中 ...

  4. mariadb开机自启

    执行命令:systemctl enable mariadb 并由此想到,添加服务自启的命令格式: systemctl enable 服务名 当然关闭服务自启也是可以得: systemctl disab ...

  5. ML: 降维算法-LLE

    局部线性嵌入 (Locally linear embedding)是一种非线性降维算法,它能够使降维后的数据较好地保持原有 流形结构 .LLE可以说是流形学习方法最经典的工作之一.很多后续的流形学习. ...

  6. Django REST framework 总结(附源码剖析)

    Django 的 CBV&FBV Django FBV, function base view  视图里使用函数处理请求 url url(r‘^users/‘, views.users), v ...

  7. Azure 认知服务 (1) 概述

    <Windows Azure Platform 系列文章目录> 在笔者之前的文章中,介绍的都是Azure  Infrastructure-as-a-Service (IaaS) 和Plat ...

  8. Azure REST API (4) 在Python环境下,使用Azure REST API

    <Windows Azure Platform 系列文章目录> 之前遇到的项目中,客户需要在Python环境下,监控Azure VM的CPU利用率,在这里简单记录一下. 笔者的环境是Win ...

  9. RTB业务知识之2-Impression概念和关键属性

    一.定义-impression This object describes an ad placement or impression being auctioned. A single bid re ...

  10. PAT 乙级 1010 一元多项式求导 (25) C++版

    1010. 一元多项式求导 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 设计函数求一元多项式的导数.(注:xn(n为整数)的一 ...