python装饰器练习

2021-04-21 03:28

阅读:572

标签:inner   显示   名片   condition   bre   方式   电话   管理系统   联系人   

‘‘‘
名片管理系统

名片包含的信息有: 姓名,电话
功能要求:
1、增删改查
2、显示所有信息
‘‘‘
info_dict = {}


def add_info():
    new_info = input(‘请依次输入联系人的姓名、电话,并以’,‘ 号隔开‘)
    new_list = new_info.split(‘,‘)
    info_dict[new_list[0]] = new_list[1]


# 删除、修改都需要用到查询,这里用到的数据结构是字典,所以直接用dict的操作函数即可
def find_info(fn):
    def inner(info_key):
        # info_key = input(‘输入要进行操做的姓名:‘)
        if info_key in info_dict:
            print(‘查到的联系人:{},电话:{}‘.format(info_key, info_dict[info_key]))
            fn(info_key)
        else:
            print(‘没有这个人‘)

    return inner


@find_info
def delete_ele(info_key):
    info_dict.pop(info_key)


@find_info
def change_ele(info_key):
    phone = input(‘请输入新的联系方式:‘)
    info_dict[info_key] = phone


@find_info
def find_ele(info_key):
    pass


while True:
    print(‘1、添加‘)
    print(‘2、删除‘)
    print(‘3、修改‘)
    print(‘4、查询‘)
    print(‘5、所有内容‘)
    print(‘6、退出‘)
    i = int(input(‘请输入要进行的操作:‘))
    if i == 1:
        add_info()
        continue
    elif i == 2:
        info_key = input(‘输入要进行删除的姓名:‘)
        delete_ele(info_key)
        continue
    elif i == 3:
        info_key = input(‘输入要进行修改的姓名:‘)
        change_ele(info_key)
        continue
    elif i == 4:
        info_key = input(‘输入要进行查询的姓名:‘)
        find_ele(info_key)
        continue
    elif i == 5:
        print(info_dict)
        continue
    elif i == 6:
        conditions = input(‘确定要退出系统嘛?(输入yes or no)‘)
        if conditions.lower() == ‘yes‘:
            break
        elif conditions.lower() == ‘no‘:
            continue
    else:
        continue

python装饰器练习

标签:inner   显示   名片   condition   bre   方式   电话   管理系统   联系人   

原文地址:https://www.cnblogs.com/ychdzx/p/13282176.html


评论


亲,登录后才可以留言!