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('输入非法,请重新输入选择!')
Python三级菜单增删改查的更多相关文章
- Python列表的增删改查排嵌套特殊输出格式
Python列表的增删改查排嵌套特殊输出格式 一.列表的样子: a = ['q' , 'w' , 'e ', 'r','t'] a为列表名,[ ]为列表内容,' '为列表内的元素,'q'为a[0] 二 ...
- 使用python操作XML增删改查
使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...
- python列表的增删改查和嵌套
列表 python常用的数据类型 可承载任意的数据类型 列表是有序的,可索引.切片(步长) 列表的创建 list1 = [1, 2, 'whll'] #1. list2 = list() #2. #3 ...
- DAY5(PYTHON) 字典的增删改查和dict嵌套
一.字典的增删改查 dic={'name':'hui','age':17,'weight':168} dict1={'height':180,'sex':'b','class':3,'age':16} ...
- bootstrap+Ajax+SSM(maven搭建)表单增删改查
前后端分离,前端利用ajax调用后端API接收json数据,进行表单的增删改查 软件架构 IDE:IDEA 数据库:mysql jdk:1.8 tomcat:9 后端:springmvc,mybati ...
- MyBatis---简单增删改查的带事物的例子
本例子包含了对数据库表简单的增删改查的操作,并且包含事物.该例子只适用于MySQL数据库.该例子需要手动创建数据库以及数据库表 例子中所需要的jar包,详查MyBatis---简介 一个entity类 ...
- python字典的增删改查
字典dict 知识点: {}括起来,以键值对形式存储的容器性数据类型: 键-必须是不可变数据类型,且是唯一的: -值可以是任意数据类型.对象. 优点:关联性强,查询速度快. 缺点:以空间换时间. 字典 ...
- Python全栈开发记录_第二篇(文件操作及三级菜单栏增删改查)
python3文件读写操作(本篇代码大约100行) f = open(xxx.txt, "r", encoding="utf-8") 不写“r”(只读)默认是只 ...
- 洗礼灵魂,修炼python(91)-- 知识拾遗篇 —— pymysql模块之python操作mysql增删改查
首先你得学会基本的mysql操作语句:mysql学习 其次,python要想操作mysql,靠python的内置模块是不行的,而如果通过os模块调用cmd命令虽然原理上是可以的,但是还是不太方便,那么 ...
随机推荐
- struts中jsp表单控件命名注意
在jsp页面中写了这样的一个表单控件 <td>维修任务码</td><td><input type="text" id="mTas ...
- Spring Schedule实现定时任务
applicationContext.xml 1. 增加配置 <!-- 开启定时任务 --> <task:annotation-driven /> <!-- 开启注解 - ...
- new和delete重载
1. 简介 new/delete关键字,其本质是预定义的操作符,因此支持重载 默认new和delete的行为: new: ①获取内存空间(默认为堆空间):②在获取的空间中调用构造函数创建对象 d ...
- 总线读写---verilog代码
总线读写---verilog代码 `timescale 1ns / 1ps ////////////////////////////////////////////////////////////// ...
- 阅读DMA Controller Core 官方手册
阅读DMA Controller Core 官方手册 DMA控制器框架图 怎样去设定一个DMA控制器 实例化DMA控制器 参数配置界面如下图所示: 对于width of the DMA length ...
- 简单谈谈JS数组中的indexOf方法
前言 相信说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别常用,正则不熟练同学的利器.这篇文章就最近遇到的一个问题,用实例再说说说indexOf方法.本文是小知识点积累,不作为深入 ...
- SpringCloud之网关 Zuul(四)
一 Zuul简介 zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用. Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架.Z ...
- 【Java】线程转储分析 ThreadDump
[[TOC]] 通过分析 ThreadDump 来查询Java程序运行情况 获取线程转储文件 有多种方式可以获取转储文件,可参考链接HOW TO TAKE THREAD DUMPS? – 8 OPTI ...
- Ubuntu 14.10 下安装伪分布式hive-0.14.0
本地独立模式,MySQL作为元数据库 1 安装环境准备 1.1 安装JDK,在安装hadoop时候已经安装了,参考http://www.cnblogs.com/liuchangchun/p/40972 ...
- webscoket通信初步(一)
只要动手做起来,多投入时间和精力.耐心去研究,以大多人的智商加google,平时遇到的大部分问题我们都是可以自己解决的,大部分的知识我们都是可以掌握的. 我们都知道http协议是单向请求的,无法实现双 ...