您的位置:首页 > 其它

第一周作业-三级菜单

2017-05-13 19:12 232 查看
1.运行程序输出第一级菜单



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]#重新复制选择的字典名称





                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: