名片管理系统函数版

下面展示一些 内联代码片

"""
名片管理系统---需求

# 名片盒子
cards = [
        {名片信息1},
        {名片信息2},
        {名片信息3},
        ...
    ]

cards = [{"name": "张飞", "tel": 4008008888, "job": "CEO", "company": "张飞牛肉", "addr": "高新区"},
         {"name": "刘备", "tel": 4008009999, "job": "CFO", "company": "张飞牛肉", "addr": "高新区"},
         {"name": "关羽", "tel": 4008006666, "job": "CTO", "company": "张飞牛肉", "addr": "高新区"}]

    需要完成的功能:对 名片盒子 进行:增 删 改 查`在这里插入代码片`
    1. 添加名片: 根据用户输入的信息, 组装成字典, 追加到名片盒子里面
    2. 显示名片: 遍历名片盒子输出所有名片信息
    3. 修改名片:  输入需要修改名片的姓名, 根据姓名到名片盒子查找对应的名片,
        如果找到 , 重新输入新的名片信息, 完成修改操作
    4. 删除名片: 输入需要删除的名片姓名, 根据姓名到名片盒子中查到对应的名片并删除.
    5. 查询某一个人的名片: 根据输入的名字,查询名片,并且打印名片信息
"""

# 定义一个名片盒子
cards = [{"name": "张飞", "tel": 4008008888, "job": "CEO", "company": "张飞牛肉", "addr": "高新区"},
         {"name": "刘备", "tel": 4008009999, "job": "CFO", "company": "张飞牛肉", "addr": "高新区"},
         {"name": "关羽", "tel": 4008006666, "job": "CTO", "company": "张飞牛肉", "addr": "高新区"}]


def show_menu():
    """
    定义显示菜单函数
    :return:
    """
    print("""
============欢迎使用名片管理系统V3.0============
        1.添加名片  2.显示名片  3.修改名片
        4.删除名片  5.查询名片  0.退出系统
""")  # 打印显示菜单


def add_card():
    """
    定义添加名片函数
    :return:
    """
    name = input("请输入姓名:")  # 使用name保存输入的姓名
    tel = input("请输入电话:")  # 使用tel保存输入的电话
    job = input("请输入职位:")  # 使用job保存输入的职位
    company = input("请输入公司:")  # 使用company保存输入的公司
    addr = input("请输入公司地址:")  # 使用addr保存输入的公司地址
    card = {"name": name, "tel": tel, "job": job, "company": company, "addr": addr}  # 将输入的信息组装成名片card
    cards.append(card)  # 将该名片追加到名片盒子里
    print(f"名片{name}添加成功.")  # 提示添加成功


def show_card():
    """
    定义显示名片方法
    :return:
    """
    print("姓名\t电话\t\t职位\t公司\t\t公司地址")  # 美化显示
    for card in cards:  # 遍历名片盒子
        print(f"{card['name']}\t{card['tel']}\t{card['job']}\t\t{card['company']}\t{card['addr']}")  # 美观打印所有名片的信息
    else:
        print("名片显示完成.")


def change_card():
    """
    定义修改名片方法
    :return:
    """
    name = input("请输入要修改名片的名字:")  # 使用name保存输入的名字
    for card in cards:  # 遍历名片盒子
        if card["name"] == name:  # 判断名字是否在名片盒子里
            new_name = input("请输入姓名:")  # 使用new_name保存输入的姓名
            new_tel = input("请输入电话:")  # 使用new_tel保存输入的电话
            new_job = input("请输入职位:")  # 使用new_job保存输入的职位
            new_company = input("请输入公司:")  # 使用new_company保存输入的公司
            new_addr = input("请输入公司地址:")  # 使用new_addr保存输入的公司地址
            new_card = {"name": new_name, "tel": new_tel, "job": new_job, "company": new_company,
                        "addr": new_addr}  # 将输入的信息组装成名片new_card
            card.update(new_card)  # 将修改后的名片更新到名片里
            print(f"名片{name}修改成功")  # 提示名片修改成功
            break  # 有break在时,不执行else

    else:
        print(f"名片{name}不存在.")


def del_card():
    """
    定义删除名片方法
    :return:
    """
    name = input("请输入要查询名片的名字:")  # 使用name保存输入的名字
    for card in cards:  # 遍历名片盒子
        if card["name"] == name:  # 判断名字是否在名片盒子里
            cards.remove(card)  # 名片存在时删除该名片
            print(f"名片{name}删除成功")  # 提示名片删除成功
            break  # 有break在时,不执行else
    else:
        print(f"名片{name}不存在.")


def select_card():
    """
    定义查询名片方法
    :return:
    """
    name = input("请输入要查询名片的名字:")  # 使用name保存输入的名字
    for card in cards:  # 遍历名片盒子
        if card["name"] == name:  # 判断名字是否在名片盒子里
            # 美化显示名片
            print(f"""
===================================
    {card["company"]}

    {card["name"]}({card["job"]})
    电话:{card["tel"]}
    地址:{card["addr"]}
===================================
            """)
            break  # 有break在时,不执行else
    else:
        print(f"名片{name}不存在.")


while True:  # 循环输入
    show_menu()  # 调用显示菜单函数
    num = input("请输入想进行的操作序号:")  # 获取输入的操作序号
    if num == "1":  # 输入数字1进行添加名片的操作
        add_card()
    elif num == "2":  # 输入数字2进行显示名片的操作
        show_card()
    elif num == "3":  # 输入数字3进行修改名片的操作
        change_card()
    elif num == "4":  # 输入数字4进行删除名片的操作
        del_card()
    elif num == "5":  # 输入数字5进行查询名片的操作
        select_card()
    elif num == "0":  # 输入数字0进行退出系统的操作
        exit("退出系统")  # 退出系统
    else:  # 输入其他数字提示重新输入
        print("请重新输入")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值