字典、while、for循环综合练习

 

解决问题的逻辑很重要,知识点的储备是基础,文件操作以及字典相关操作比较重要还是多练练吧

有问题多看注释,程序比较简单,入门级别,有缘看到的勿喷

 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()

 

上一篇:Java数据冒泡排序


下一篇:Excel如何实现随机抽取