python实现三级菜单
2017-10-25 00:00
288 查看
1. 文件不能直接存字典、列表等数据 。 2. 为什么JSON可以存,因为JSON就是字符串。 3. 为什么字符串可以存文件,其实字符串还会被转成bytes,最终被存入文件或者被网络传输。
程序: 三级菜单
要求:
打印省、市、县三级菜单
省、市、县等信息存储在文件中
可返回上一级
可随时退出程序
因为字典、列表不能直接保存在文件。先用储存省市县信息的字典转换成JSON,保存在文件中,
1.读取存在文件中的信息,用eval()函数转换成字典,创建一个值为整个字典的列表layers,创建一个变量carte,将字典的值赋给他。
2.用两层循环嵌套,外层循环是死循环,通过break推出。for循环遍历整个carte的key,得到省名字的列表,输出该列表,让用户输入。
3.判断输入choice,choic为q,break退出循环;choice不在字典a内,报错,continue;choic在carte中,将当前carte追加到layers列表中,将choice对应的下级字典赋值给carte,遍历carte,得到choice对应的菜单;choice为r,将layers的最后一个元素赋值给a,b删除最后一个元素,这时遍历carte,就得到上一级菜单,以此实现返回上级菜单。
补上流程图一张,欢迎各位前辈指点。
程序: 三级菜单
要求:
打印省、市、县三级菜单
省、市、县等信息存储在文件中
可返回上一级
可随时退出程序
因为字典、列表不能直接保存在文件。先用储存省市县信息的字典转换成JSON,保存在文件中,
import json menu={ '陕西':{ '西安':{ '小寨':"购物中心", '北大街':"钟鼓楼", '大雁塔':"喷泉水舞" }, '咸阳':{ "机场":"乘飞机", "咸阳湖":"可划船", "乾陵":"武则天" }, '临潼':{ "兵马俑":"秦始皇", "华清池":"杨贵妃", "骊山":"烽火戏诸侯" }, }, '广东':{ '广州':{ '天河':{}, '番禺':{}, '白云':{} }, '深圳':{ '南山':{}, '福田':{}, '罗湖':{} } } } menu_=json.dumps(menu) f=open('menu.txt','w',encoding='utf-8') f.write(menu_) f.close()
1.读取存在文件中的信息,用eval()函数转换成字典,创建一个值为整个字典的列表layers,创建一个变量carte,将字典的值赋给他。
2.用两层循环嵌套,外层循环是死循环,通过break推出。for循环遍历整个carte的key,得到省名字的列表,输出该列表,让用户输入。
3.判断输入choice,choic为q,break退出循环;choice不在字典a内,报错,continue;choic在carte中,将当前carte追加到layers列表中,将choice对应的下级字典赋值给carte,遍历carte,得到choice对应的菜单;choice为r,将layers的最后一个元素赋值给a,b删除最后一个元素,这时遍历carte,就得到上一级菜单,以此实现返回上级菜单。
import json f=open('menu.txt',encoding="utf-8") menu=eval(f.read()) f.close() carte=menu layers=[menu] while True: if type(carte)is not str: for key in carte: print(key) else:print(carte) choice=input("请输入你想查看的选项(返回上一层请输r,退出请输入q):\n").strip() if choice =="r": carte=layers[-1] layers.pop() elif choice=="q":break elif choice not in carte: print("输入错误,请输入正确的选项") continue else: layers.append(carte) carte=carte[choice]
补上流程图一张,欢迎各位前辈指点。
相关文章推荐
- Python下三级菜单实现
- python中用字典实现三级菜单
- python实现三级菜单
- 使用python实现省市三级菜单效果
- Python字典实现简单的三级菜单(实例讲解)
- 使用python实现省市三级菜单效果
- Python 三级菜单 省 市 县 实现
- Python递归 — — 二分查找、斐波那契数列、三级菜单
- 分别用css、JS、jQuery实现二级菜单、三级菜单
- python_____三级菜单
- 纯JSP+DWR实现三级联动下拉选择菜单实现技巧
- 使用shell和python分别实现简单菜单功能--打印当前系统状态信息
- 关于三级菜单的实现方式
- Python第一周作业--三级菜单【未完成】
- python 写三级菜单
- Python 脚本实现 Menu 菜单
- python练习_三级菜单
- Python三级菜单的实例
- 整理:dotNet Ajax实现无刷新省市县三级联动菜单
- javaScript实现三级菜单级联