解决问题的逻辑很重要,知识点的储备是基础,文件操作以及字典相关操作比较重要还是多练练吧
有问题多看注释,程序比较简单,入门级别,有缘看到的勿喷
1 #储备知识:字典操作以及while、for循环 2 import json 3 with open('三级菜单.json','r',encoding='utf-8') as f: 4 user_dic=json.loads(f.read()) #将文件中的数据读取出来 5 menue=user_dic 6 # while True: 7 # for key in menue:#遍历这个字典---遍历其中的key 8 # print(key) 9 # user_choose=input('输入您要查看的地区名字>>>').strip()#给用户选择需要查看的下一级菜单 10 # if user_choose in menue: 11 # ''' 12 # 接下来需要做用户选择后的菜单进入程序 13 # 要想清楚用户选择后需要进入的菜单 14 # 下一级menue[user_choose]下下级menue[user_choose][user_choose] 15 # ''' 16 # '''如果选择继续for循环,那么接下来肯定会有很多重复的程序,当然我们不能这样做啦''' 17 # menue=menue[user_choose] 18 # else: 19 # print('输入错误,请重新输入您要查看的地区>>>') 20 21 #以上代码已经可以实现用户输入不进入下一级了,最后一个需求,用户输入q退出上一级,继续看完整的程序 22 user_up_level=[]#把上一级的menue存储下来,以供后面调用 23 while True: 24 for key in menue:#遍历这个字典---遍历其中的key 25 print(key) 26 user_choose=input('输入您要查看的地区名字>>>').strip()#给用户选择需要查看的下一级菜单 27 if not user_choose=='q' or user_choose=='Q': 28 if user_choose in menue: 29 ''' 30 接下来需要做用户选择后的菜单进入程序 31 要想清楚用户选择后需要进入的菜单 32 下一级menue[user_choose]下下级menue[user_choose][user_choose] 33 ''' 34 '''如果选择继续for循环,那么接下来肯定会有很多重复的程序,当然我们不能这样做啦''' 35 menue=menue[user_choose] 36 user_up_level.append(menue) 37 else: 38 print('输入错误,请重新输入您要查看的地区>>>') 39 elif len(user_up_level)==0: 40 menue=user_dic 41 print('已经没有退路了') 42 else: 43 ''' 44 应该返回上一级,那上一级是谁呢? 45 我们应该在程序中把上一级的munue记录下来,以供在这里使用,往上看具体操作 46 ''' 47 menue=user_up_level.pop()