博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第一周作业-三级菜单
阅读量:5363 次
发布时间:2019-06-15

本文共 1860 字,大约阅读时间需要 6 分钟。

1. 运行程序输出第一级菜单
 

2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单

 

3. 菜单数据保存在文件中

 

4. 让用户选择是否要退出

 

5. 有返回上一级菜单的功能

1 #coding:utf-8 2 #Author:Mr Zhi 3 file_o = open("menu",'r',encoding="utf-8") #打开三级菜单文件 4 menu= eval(file_o.read())  #把打开后的文件内容转换成字典(文件内容原本是字典) 5 def out():     #频繁使用的代码定义个函数 6     file_o.close()  #关闭打开的文件 7     exit()  #退出程序 8 for i in menu: #遍历菜单menu字典 9     print(i)  #输出字典菜单 continue10 while True:   #开始while循环11     choice = input("输入地区(按q退出,b返回上层):") #输入地区12     if choice == "q": #判断输入chice值是否为q13         out()   #执行函数14     if choice == "b": #判断输入chice值是否为b15         print("已是第一层") 16     if choice not in menu or len(choice) == 0 and choice != "b": #判断输入choice值在菜单文件中或输入choice不等于b17         print("你输入有误,请重新输入")18     if choice in menu:  #p判断输入choice是否在menu中19         for i in menu[choice]: #遍历menu[choice]20             print(i)21         choice2 = input("输入省区(按q退出,b返回上层):")  #输入结果22         if choice2 not in menu[choice] and choice2 != "b":#判断输入choice2 不在字典中和不等于b23             print("你输入有误,请重新输入")24         if choice2 in menu[choice]: #判断25             for i2 in menu[choice][choice2]:  #遍历字典26                 print(i2)27             print("最后一层菜单,下面没有了")28         if choice2 == "q": #判断29             out()30         if choice2 == "b":#判断31             continue #继续循环
1 #三级菜单优化版 2 #coding:utf-8 3 #Author:Mr Zhi 4 menu_f = open("menu",'r',encoding="utf-8") 5 menu = eval(menu_f.read()) 6 l = [] 7 while True: 8     for key in menu:  #遍历字典 9         print(key)     #打印出键值,也就是父字典10     choice = input("input your choice:").strip()  #11     if choice == "q": #判断退出12         menu = l[-1]  #赋值menu菜单等于列表的最后一个列表元素,把一个字典加到列表中13         l.pop()  #清空列表14     if len(choice) == 0 or choice not in menu: continue #判断不输入或者输入不在字典中时继续运行程序15     l.append(menu)  #把字典加到列表16     menu = menu[choice]  #重新复制选择的字典名称
 

 

 

转载于:https://www.cnblogs.com/wenwei-blog/p/6849963.html

你可能感兴趣的文章
高性能JavaScript-JS脚本加载与执行对性能的影响
查看>>
hdu 2767(tarjan)
查看>>
sklearn之分类模型混淆矩阵和分类报告
查看>>
MySQL各存储引擎
查看>>
项目--简单导出CSV文件
查看>>
Oracle session相关数据字典(一)
查看>>
织梦文章内容提取第一张或者多张图片输出
查看>>
C#用正则表达式 获取网页源代码标签的属性或值
查看>>
BZOJ 3399 [Usaco2009 Mar]Sand Castle城堡(贪心)
查看>>
WCF(一) 简单的认知
查看>>
[MFC][DShow]简单例子
查看>>
js onclick事件传参
查看>>
WiCloud 商业Wi-Fi管理平台
查看>>
团队项目--未完待续
查看>>
双重标准,我该怎么解决
查看>>
python中的网页标签等字符处理
查看>>
Linux常用命令(十二)
查看>>
Linux常用命令(十五)
查看>>
Linux常用命令(十四)
查看>>
Linux常用命令(十七)
查看>>