輸出 C:\Python3.7.0\python3.exe F:/PycharmProjects/python_s3/day13/jichuceshi.py1 植物2 動物>>>11 草本植物2 木本植物3 水生植物>>>>b1 植物2 動物>>>21 兩棲動物2 禽類3 哺乳類動物>>>>2雛雞原 ...
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)
>>>