python 三级菜单 - 增删改查

#!/usr/bin/env python3

menu = {
    "中国计量大学":{
        "机电学院":{
            "机械设计":"张三",
            "自动化":"李四",
            "测控":"王五"
        },
        "理学院":{
            "物理":"A",
            "数学":"B",
            "化学":"C"
        },
        "法学院":{
            "民法":"linda",
            "刑法":"tom",
            "宪法":"jack"
        }
    },
    "浙江理工大学":{
        "机电学院":{
            "机械设计":"1400201401",
            "自动化":"1400201402",
            "测控":"1400201403"
        },
        "理学院":{
            "物理":"1400201404",
            "数学":"1400201405",
            "化学":"1400201406"
        },
        "法学院":{
            "民法":"1400201407",
            "刑法":"1400201408",
            "宪法":"1400201409"
        }
    },
    "浙江工业大学":{
        "机电学院":{
            "机械设计":"1400201801",
            "自动化":"1400201802",
            "测控":"1400201803"
        },
        "理学院":{
            "物理":"1400201804",
            "数学":"1400201805",
            "化学":"1400201806"
        },
        "法学院":{
            "民法":"1400201807",
            "刑法":"1400201808",
            "宪法":"1400201809"
        }
    }
}



def menu_query(menu):

    quit_flag = False #退出循环标志符

    while not quit_flag:

        # 打印
        if isinstance(menu, dict): #最后一级不是字典了,是专业编号,是字符串,不循环打印
            print('欢迎使用学校查询系统'.center(50,'*'))
            for school in menu:
                print('>>>',school)
            print('输入你要查询的学校、学院、专业或新增[add]、修改[revise]、删除[delete]、返回[b]、退出[q]')

            school = input('输入:')

            # 查询
            if school in menu:
                menu_query(menu[school])


            #增加
            elif school == 'add':
                while not quit_flag:
                    school_add = input('输入要添加的学校、学院、专业:')

                    if school_add == 'b':
                        break
                    if school_add not in menu:
                        menu[school_add] = {}
                    else:
                        print('你输入的已经存在')
                # continue
            #删除
            elif school == 'delete':
                school_delete = input('输入要删除的学校、学院、专业:')
                if school_delete in menu:
                    del menu[school_delete]
                else:
                    print('你输入的找不到')
                # continue
            #修改
            elif school == 'update':
                school_update = input('输入要修改的学校、学院、专业:')
                if school_update in menu:
                    new_school = input('输入你要改变的值')
                    menu[new_school] = menu[school_update]
                    del menu[school_update]
                else:
                    print('你要修改的找不到')
                # continue


            elif school == 'b':   #返回上一层
                print('back')
                break

            elif school == 'q':   #退出所有循环
                print('quit')
                quit_flag = True

            else:
                print('重新输入')
        else:
            print(menu)
            break



menu_query(menu)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值