已全部完成题目要求了,,添加字典还不是很理解完全照抄

其他的都容易理解,差一些防止用户误输入的需求

添加一点就容易报错,就暂时先这样吧

用户交互显示类似省市县 N 级联动的选择
# a. 允许用户增加内容 
#  b. 允许用户选择查看某一个级别内容
dic = {
    "植物":
        {"草本植物":
         ["牵牛花", "瓜叶菊", "葫芦", "翠菊", "冬小麦", "甜菜"],
        "木本植物":
         ["乔木", "灌木", "半灌木", "如松", "", ""],
        "水生植物":
         ["荷花", "千屈菜", "菖蒲", "黄菖蒲", "水葱", "再力花", "梭鱼草"]},
    "动物":
       {"两栖动物":
        ["山龟", "山鳖", "石蛙", "娃娃鱼", "蟾蜍", "", "鳄鱼", "蜥蜴", ""],
        "禽类":
         ["雉鸡", "原鸡", "长鸣鸡", "昌国鸡", "斗鸡", "长尾鸡", "乌骨鸡"],
        "哺乳类动物":
         ["", "", "", "鹿", "", "", "", "树懒", "斑马", ""]}}

li = []
li_2 = []
flag = True
a = True
# 查看第一层
while flag:
    for k,v in enumerate(dic,1):
        print(k,v)
        li.append(v)
    s = input("输入序号查找,按i添加:")
    if s.isnumeric():
        s = int(s)
        print(li[s-1])
    # 查看第二层
        while flag:
            for k,v in enumerate(dic[li[s-1]],1):
                print(k,v)
                li_2.append(v)
            c = input("输入序号查找: 返回上一层按b,退出按q:")
            if c.isalpha():
                a =False
                c = str(c)
                if c.lower() == "b":
                    li.clear()
                    break
                elif c.lower() =="q":
                    flag = False
                    break
            elif c.isnumeric():
                 c = int(c)
            else:
                print("输入错误")

        # 查看第三层
            while flag:
                for v in dic[li[s-1]][li_2[c-1]]:
                    print(v)
                c = input("返回上一层按b,退出按q:")
                c = str(c)
                if c.lower() == "b":
                    li_2.clear()
                    break
                elif c.lower() =="q":
                    flag = False
                    break
#添加内容
    else:
        s.isalpha()
        s = str(s)
        if s.lower() == "i":
            lx = input("类型:")
            if dic.get(lx, 1) == 1:
                dic[lx] = {}
            else:
                print("已存在")
            zl = input("种类:")
            if dic[lx].get(zl, 1) == 1:
                dic[lx][zl] = []
            else:
                print("已存在")
            mc = input("名称:")
            li.clear()
            if mc in dic[lx][zl]:
                print("已存在")
            else:
                dic[lx][zl].append(mc)