1
#!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # 查看,返回上一层,退出操作。 4 dic = { 5 '植物': 6 { 7 '草本植物': 8 ['牵牛花', '瓜叶菊', '葫芦', '翠菊', '冬小麦', '甜菜'], 9 '木本植物': 10 ['乔木', '灌木', '半灌木', '如松', '', ''], 11 '水生植物': 12 ['荷花', '千屈菜', '菖蒲', '黄菖蒲', '水葱', '再力花', '梭鱼草', ] 13 }, 14 '动物': 15 { 16 '两栖动物': 17 ['山龟', '山鳖', '石蛙', '娃娃鱼', '蟾蜍', '', '鳄鱼', '蜥蜴', ''], 18 '禽类': 19 ['雏鸡', '原鸡', '长鸣鸡', '昌国鸡', '斗鸡', '长尾鸡', '乌骨鸡'], 20 '哺乳类动物': 21 ['', '', '', '鹿', '', '', '', '树懒', '斑马', ''] 22 } 23 } 24 li = [] 25 go=True 26 while go: 27 for i, v in enumerate(dic, 1): 28 print(i, v) 29 li.append(v) 30 u_c = input('>>>') 31 u_c = int(u_c) 32 li1 = [] 33 while go: 34 for i, v in enumerate(dic[li[u_c - 1]], 1): 35 print(i, v) 36 li1.append(v) 37 u_c1 = input('>>>>') 38 if u_c1.isdecimal(): 39 u_c1 = int(u_c1) 40 elif u_c1.isalpha(): 41 u_c1=u_c1.lower() 42 if u_c1=='b': 43 li.clear() #del li[:] 44 break 45 elif u_c1=='q': 46 go =False 47 break 48 # else: 49 # pass #没有else语法上是可以的,前提是你知道这样并没有什么逻辑上的遗漏。 50 while go: 51 for i in dic[li[u_c - 1]][li1[u_c1 - 1]]: 52 print(i) 53 u_c2=input('>>>>>') 54 u_c2=u_c2.lower() 55 if u_c2=='b': 56 li1.clear() #del li1[:] 57 break 58 elif u_c2=='q': 59 go =False 60 break

输出

C:\Python3.7.0\python3.exe F:/PycharmProjects/python_s3/day13/jichuceshi.py
1 植物
2 动物
>>>1
1 草本植物
2 木本植物
3 水生植物
>>>>b
1 植物
2 动物
>>>2
1 两栖动物
2 禽类
3 哺乳类动物
>>>>2
雏鸡
原鸡
长鸣鸡
昌国鸡
斗鸡
长尾鸡
乌骨鸡
>>>>>b
1 两栖动物
2 禽类
3 哺乳类动物
>>>>3



鹿



树懒
斑马

>>>>>q

Process finished with exit code 0

 

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 #!/usr/bin/env python
 4 # -*- coding:utf-8 -*-
 5 # 增添功能。
 6 dic = {
 7     '植物':
 8         {
 9             '草本植物':
10                 ['牵牛花', '瓜叶菊', '葫芦', '翠菊', '冬小麦', '甜菜'],
11             '木本植物':
12                 ['乔木', '灌木', '半灌木', '如松', '', ''],
13             '水生植物':
14                 ['荷花', '千屈菜', '菖蒲', '黄菖蒲', '水葱', '再力花', '梭鱼草', ]
15         },
16     '动物':
17         {
18             '两栖动物':
19                 ['山龟', '山鳖', '石蛙', '娃娃鱼', '蟾蜍', '', '鳄鱼', '蜥蜴', ''],
20             '禽类':
21                 ['雏鸡', '原鸡', '长鸣鸡', '昌国鸡', '斗鸡', '长尾鸡', '乌骨鸡'],
22             '哺乳类动物':
23                 ['', '', '', '鹿', '', '', '', '树懒', '斑马', '']
24         }
25 }
26 li = []
27 go = True
28 while go:
29     for i, v in enumerate(dic, 1):
30         print(i, v)
31         li.append(v)
32     u_c = input('>>>')
33     if u_c.isdigit():
34         u_c = int(u_c)
35         li1 = []
36         while go:
37             for i, v in enumerate(dic[li[u_c - 1]], 1):
38                 print(i, v)
39                 li1.append(v)
40             u_c1 = int(input('>>>>'))
41             while go:
42                 for i in dic[li[u_c - 1]][li1[u_c1 - 1]]:
43                     print(i)
44                 u_c2 = input('>>>>>')
45                 u_c2 = u_c2.lower()
46                 if u_c2 == 'b':
47                     li1.clear()  # del li1[:]
48                     break
49                 elif u_c2 == 'q':
50                     go = False
51                     break
52     elif u_c.isalpha():
53         u_c=u_c.lower()
54         if u_c=='i':
55             lx=input('类型:')
56             if dic.get(lx,1)==1:
57                 dic[lx]={}
58             zl=input('种类:')
59             if dic[lx].get(zl,1)==1:
60                 dic[lx][zl]=[]
61             while True:
62                 mc=input('名称:')
63                 if mc == 'q':
64                     li.clear()
65                     break
66                 if mc in dic[lx][zl]:
67                     print('已经存在!')
68                 else:
69                     dic[lx][zl].append(mc)

输出

C:\Python3.7.0\python3.exe F:/PycharmProjects/python_s3/day13/jccs2.py
1 植物
2 动物
>>>i
类型:怪物
种类:小精灵
名称:皮卡丘
名称:妙蛙种子
名称:小火龙
名称:q
1 植物
2 动物
3 怪物
>>>3
1 小精灵
>>>>1
皮卡丘
妙蛙种子
小火龙
>>>>>

 1 #!!最棒的模板!!
 2 #!/usr/bin/env python
 3 # -*- coding:utf-8 -*-
 4 db = {
 5     '植物':
 6         {
 7             '草本植物':
 8                 {'牵牛花':{}, '瓜叶菊':{}, '葫芦':{}, '翠菊':{}, '冬小麦':{}, '甜菜':{}},
 9             '木本植物':
10                 {'乔木':{}, '灌木':{}, '半灌木':{}, '如松':{}, '':{}, '':{}},
11             '水生植物':
12                 {'荷花':{}, '千屈菜':{}, '菖蒲':{}, '黄菖蒲':{}, '水葱':{}, '再力花':{}, '梭鱼草':{}, }
13         },
14     '动物':
15         {
16             '两栖动物':
17                 {'山龟':{}, '山鳖':{}, '石蛙':{}, '娃娃鱼':{}, '蟾蜍':{}, '':{}, '鳄鱼':{}, '蜥蜴':{}, '':{}},
18             '禽类':
19                 {'雏鸡':{}, '原鸡':{}, '长鸣鸡':{}, '昌国鸡':{}, '斗鸡':{}, '长尾鸡':{}, '乌骨鸡':{}},
20             '哺乳类动物':
21                 {'':{}, '':{}, '':{}, '鹿':{}, '':{}, '':{}, '':{}, '树懒':{}, '斑马':{}, '':{}}
22         }
23 }
24 path = []
25 while True:
26     temp = db
27     for item in path:
28         temp = temp[item]
29     print('当前节点的所有子节点:', list(temp.keys()))
30     choice = input('1:添加节点;2:查看节点(Q退出/返回上一级B)\n>>>')
31     if choice == '1':
32         k = input('请输入要添加的子节点名称:')
33         if k in temp:
34             print('节点已经存在')
35         else:
36             temp[k] = {}
37     elif choice == '2':
38         k = input('请输入要查看的子节点:')
39         if k in temp:
40             path.append((k))
41         else:
42             print('子节点名称错误')
43     elif choice.lower() == 'b':
44         if path:
45             path.pop()
46     elif choice.lower() == 'q':
47         break
48     else:
49         print('输入不合法')

输出

C:\Python3.7.0\python3.exe F:/PycharmProjects/python_s3/day13/jccs3.py
当前节点的所有子节点: ['植物', '动物']
1:添加节点;2:查看节点(Q退出/返回上一级B)
>>>2
请输入要查看的子节点:动物
当前节点的所有子节点: ['两栖动物', '禽类', '哺乳类动物']
1:添加节点;2:查看节点(Q退出/返回上一级B)
>>>2
请输入要查看的子节点:禽类
当前节点的所有子节点: ['雏鸡', '原鸡', '长鸣鸡', '昌国鸡', '斗鸡', '长尾鸡', '乌骨鸡']
1:添加节点;2:查看节点(Q退出/返回上一级B)
>>>2
请输入要查看的子节点:雏鸡
当前节点的所有子节点: []
1:添加节点;2:查看节点(Q退出/返回上一级B)
>>>1
请输入要添加的子节点名称:黄雏鸡
当前节点的所有子节点: ['黄雏鸡']
1:添加节点;2:查看节点(Q退出/返回上一级B)
>>>B
当前节点的所有子节点: ['雏鸡', '原鸡', '长鸣鸡', '昌国鸡', '斗鸡', '长尾鸡', '乌骨鸡']
1:添加节点;2:查看节点(Q退出/返回上一级B)
>>>2
请输入要查看的子节点:雏鸡
当前节点的所有子节点: ['黄雏鸡']
1:添加节点;2:查看节点(Q退出/返回上一级B)
>>>

 

posted on 2018-09-15 21:21  阿缘要努力变强  阅读(205)  评论(0编辑  收藏  举报