Python全栈Day 13部分知识点

发布时间:2019-03-12 00:39:45编辑:auto阅读(1788)


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

     

关键字