测试环境win7,python3.6,pycharm社区版 作业需求: 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 什么也别说了,第一次参加老男孩的Python教学视频,第一次作业,简直就是蒙圈。直接上代码,不要死的太难看。 先来个自己写的代码,重复代码太多: #!/usr/bin/env python # -*- coding:utf-8 -*- # jzy menu ={ "昌平区": {"天通苑": {"家乐福": {}, "物美": {}, "华联": {}}, "小汤山": {"龙脉温泉": {}, "健身房": {}}}, "顺义区": {"后沙峪": {"现代汽车": {}, "汇源果汁": {}, "牛栏山二锅头": {}}, "天竺": {"飞机场": {}, "燕京啤酒": {}}}, "海淀区": {"雍和宫": {'航星科技园': {}, '天坛庙会': {}, '肯德基': {}}, "厢红旗": {'香山': {}, '林业科学研究院': {}, '军事科学研究院': {}}} } while True: for i in menu: print(i) num1 = input("请选择:") if num1 in menu.keys(): while True: for i in menu[num1]: print(i) num2 = input("请选择第二层:") if num2 in menu[num1]: while True: for i in menu[num1][num2]: print(i) num3 = input("请选择第三层:") if num3 in menu[num1][num2]: print("this is you choice") exit() elif num3 == 'b': break elif num3 == 'q': exit() else: continue elif num2 == 'b': break elif num2 == 'q': exit() else: continue elif num1 == 'q': exit() else: continue 看了老师的讲解视频,照着操作一遍: #!/usr/bin/env python # -*- coding:utf-8 -*- # jzy menu ={ "昌平区": {"天通苑": {"家乐福": {}, "物美": {}, "华联": {}}, "小汤山": {"龙脉温泉": {}, "健身房": {}}}, "顺义区": {"后沙峪": {"现代汽车": {}, "汇源果汁": {}, "牛栏山二锅头": {}}, "天竺": {"飞机场": {}, "燕京啤酒": {}}}, "海淀区": {"雍和宫": {'航星科技园': {}, '天坛庙会': {}, '肯德基': {}}, "厢红旗": {'香山': {}, '林业科学研究院': {}, '军事科学研究院': {}}} } level = [] while True: for i in menu: print(i) num = input("请选择:") if num == 'b': if len(level) == 0:break menu=level[-1] level.pop() if len(num) == 0 or num not in menu: continue level.append(menu) menu = menu[num] 看来要学的还有很多,多敲几遍,理解一下吧。
python 第一周作业:三级菜单
原创
©著作权归作者所有:来自51CTO博客作者贾志禹的原创作品,谢绝转载,否则将追究法律责任
下一篇:第一周作业 模拟登录
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章