第一周作业-三级菜单
2017-05-13 19:12
232 查看
1.运行程序输出第一级菜单
2.选择一级菜单某项,输出二级菜单,同理输出三级菜单
3.菜单数据保存在文件中
4.让用户选择是否要退出
5.有返回上一级菜单的功能
2.选择一级菜单某项,输出二级菜单,同理输出三级菜单
3.菜单数据保存在文件中
4.让用户选择是否要退出
5.有返回上一级菜单的功能
1#coding:utf-8 2#Author:MrZhi 3file_o=open("menu",'r',encoding="utf-8")#打开三级菜单文件 4menu=eval(file_o.read())#把打开后的文件内容转换成字典(文件内容原本是字典) 5defout():#频繁使用的代码定义个函数 6file_o.close()#关闭打开的文件 7exit()#退出程序 8foriinmenu:#遍历菜单menu字典 9print(i)#输出字典菜单 continue 10whileTrue:#开始while循环 11choice=input("输入地区(按q退出,b返回上层):")#输入地区 12ifchoice=="q":#判断输入chice值是否为q 13out()#执行函数 14ifchoice=="b":#判断输入chice值是否为b 15print("已是第一层") 16ifchoicenotinmenuorlen(choice)==0andchoice!="b":#判断输入choice值在菜单文件中或输入choice不等于b 17print("你输入有误,请重新输入") 18ifchoiceinmenu:#p判断输入choice是否在menu中 19foriinmenu[choice]:#遍历menu[choice] 20print(i) 21choice2=input("输入省区(按q退出,b返回上层):")#输入结果 22ifchoice2notinmenu[choice]andchoice2!="b":#判断输入choice2不在字典中和不等于b 23print("你输入有误,请重新输入") 24ifchoice2inmenu[choice]:#判断 25fori2inmenu[choice][choice2]:#遍历字典 26print(i2) 27print("最后一层菜单,下面没有了") 28ifchoice2=="q":#判断 29out() 30ifchoice2=="b":#判断 31continue#继续循环
1#三级菜单优化版 2#coding:utf-8 3#Author:MrZhi 4menu_f=open("menu",'r',encoding="utf-8") 5menu=eval(menu_f.read()) 6l=[] 7whileTrue: 8forkeyinmenu:#遍历字典 9print(key)#打印出键值,也就是父字典 10choice=input("inputyourchoice:").strip()# 11ifchoice=="q":#判断退出 12menu=l[-1]#赋值menu菜单等于列表的最后一个列表元素,把一个字典加到列表中 13l.pop()#清空列表 14iflen(choice)==0orchoicenotinmenu:continue#判断不输入或者输入不在字典中时继续运行程序 15l.append(menu)#把字典加到列表 16menu=menu[choice]#重新复制选择的字典名称
相关文章推荐
- Python第一周作业--三级菜单【未完成】
- python 第一周作业:三级菜单
- python课程学习-模块1-作业-02三级菜单
- s14 python3 day1 作业3 三级菜单
- python之三级菜单作业
- 语言基础模块-三级菜单作业
- 我的Python成长之路---第一天---Python基础(作业2:三级菜单)---2015年12月26日(雾霾)
- python笔记 :模拟登录、三级菜单、购物车作业
- 软件过程与项目管理(第一周作业)
- 算法作业_1(2017.2.25第一周)
- JSP+Servlet培训班作业管理系统[5]-加载角色对应菜单
- 三级联动菜单js脚本
- Python第一周作业--模拟登录
- 纯 CSS 弹出菜单 之 横排三级分类(兼容多个浏览器) By shawl.qiu
- CSS 黑色 横向三级菜单
- 整理:dotNet Ajax实现无刷新省市县三级联动菜单
- Ajax三级联动菜单(转载)
- DedeCMS 栏目三级联动树形菜单的代码
- 普林斯顿算法课第一周作业