(一)题名:

# 编写程序,完成“名片管理器”项目
# 需要完成的基本功能:
# 1 添加名片
# 2 删除名片
# 3 修改名片
# 4 查询名片
# q 退出系统
# 程序运行后,除非选择退出系统,否则重复执行功能

(二)代码实现

print("名片管理器v0.1")
str_note = '''=====================================
1 添加名片
2 删除名片
3 修改名片
4 查询名片
q 退出系统
====================================='''
card_list = []  # 名片寄存器
card = {}  # 名片

while True:
    print(str_note)
    fun_num = input("请选择功能:")
    # 1 添加名片
    if fun_num == "1":
        # print("选择了添加名片功能")
        # 添加名片功能
        name = input("姓名:")
        celphone = input("电话:")
        card = {'name': name, 'celphone': celphone}
        card_list.append(card)
        print("名片添加成功")
    # 2 删除名片
    elif fun_num == '2':
        print("选择了删除名片功能")
        # 删除名片功能
        name = input("按姓名查询需要删除名片的信息:")
        for index, dic in enumerate(card_list):
            if dic.get('name') == name.strip():
                card_info = '''查询结果:
==========================
姓名:%s
电话:%s
==========================''' % (dic.get('name'), dic.get('celphone'))
                print(card_info)
                del card_list[index]  # 删除原有的
                print("删除成功")
                break
        else:
            print("名片数据库中不存在该名片,无法删除")
    # 3 修改名片
    elif fun_num == '3':
        print("选择了修改名片功能")
        # 修改名片功能
        name = input("按姓名查询需要修改名片的信息:")
        for index, dic in enumerate(card_list):
            if dic.get('name') == name.strip():
                card_info = '''查询结果:
==========================
姓名:%s
电话:%s
==========================''' % (dic.get('name'), dic.get('celphone'))
                print(card_info)
                name = input("请输入修改后的名称:")
                celphone = input("请输入修改后的电话:")
                card = {'name': name, 'celphone': celphone}
                del card_list[index]  # 删除原有的
                card_list.insert(index, card)  # 插入新的
                print("修改成功")
                break
        else:
            print("名片数据库中不存在该名片,无法修改")
    # 4 查询名片
    elif fun_num == '4':
        print("选择了查询名片功能")
        #  查询名片功能
        name = input("查询名片的姓名:")
        for dic in card_list:
            if dic.get('name') == name.strip():
                card_info = '''查询结果:
==========================
姓名:%s
电话:%s
==========================''' % (dic.get('name'), dic.get('celphone'))
                print(card_info)
                break
    # q 退出系统
    elif fun_num == 'q':
        print("选择了退出系统功能")
        break
    # 错误输入的提示
    else:
        print("error:选项错误,请重新选择")

    print(card_list)

print("已退出系统")

  

 函数实现版

print("名片管理器v0.1")
action_str = '''=====================================
1 添加名片
2 删除名片
3 修改名片
4 查询名片
q 退出系统
====================================='''
search_str = '''查询结果:
==========================
姓名:%s
电话:%s
=========================='''
card_list = []  # 名片寄存器
card = {}  # 名片


def add_card():
    # 添加名片功能
    name = input("姓名:")
    celphone = input("电话:")
    card = {'name': name, 'celphone': celphone}
    card_list.append(card)
    print("名片添加成功")


def del_card():
    # 删除名片功能
    name = input("按姓名查询需要删除名片的信息:")
    for index, dic in enumerate(card_list):
        if dic.get('name') == name.strip():
            card_info = search_str % (dic.get('name'), dic.get('celphone'))
            print(card_info)
            del card_list[index]  # 删除原有的
            print("删除成功")
            break
    else:
        print("名片数据库中不存在该名片,无法删除")


def change_card():
    # 修改名片功能
    name = input("按姓名查询需要修改名片的信息:")
    for index, dic in enumerate(card_list):
        if dic.get('name') == name.strip():
            card_info = search_str % (dic.get('name'), dic.get('celphone'))
            print(card_info)
            name = input("请输入修改后的名称:")
            celphone = input("请输入修改后的电话:")
            card = {'name': name, 'celphone': celphone}
            del card_list[index]  # 删除原有的
            card_list.insert(index, card)  # 插入新的
            print("修改成功")
            break
    else:
        print("名片数据库中不存在该名片,无法修改")


def search_card():
    #  查询名片功能
    name = input("查询名片的姓名:")
    for dic in card_list:
        if dic.get('name') == name.strip():
            card_info = search_str % (dic.get('name'), dic.get('celphone'))
            print(card_info)
            break


if __name__ == '__main__':

    while True:
        print(action_str)
        fun_num = input("请选择功能:")

        # 1 添加名片
        if fun_num == "1":
            # print("选择了添加名片功能")
            add_card()

        # 2 删除名片
        elif fun_num == '2':
            print("选择了删除名片功能")
            del_card()

        # 3 修改名片
        elif fun_num == '3':
            print("选择了修改名片功能")
            change_card()

        # 4 查询名片
        elif fun_num == '4':
            print("选择了查询名片功能")
            search_card()

        # q 退出系统
        elif fun_num == 'q':
            print("选择了退出系统功能")
            break

        # 错误输入的提示
        else:
            print("error:选项错误,请重新选择")

        print(card_list)

    print("已退出系统")