名片管理系统函数文件版

本文介绍了一个使用函数实现的名片管理系统,详细阐述了系统的功能模块,包括添加、删除、查询和修改名片信息。通过实例代码展示了如何操作名片数据,提供了一种高效管理名片信息的解决方案。
摘要由CSDN通过智能技术生成
def menu_add(cards):
    '''
    添加名片到名片夹
    :return:cards   名片夹
    '''
    print('添加名片')
    # 添加会员-录入信息
    name = input('请输入姓名:')
    sex = input('请输入性别:')
    job = input('请输入职位:')
    tel = input('请输入电话:')
    company = input('请输入公司:')
    # 合成一个名片字典
    card = {'name': name, 'sex': sex, 'job': job, 'tel': tel, 'company': company}
    # 将这个字典追加到名片夹列表中
    cards.append(card)
    print(f'添加{name}名片成功')


def menu_revise(cards):
    '''
    修改录入姓名在名片夹中的名片信息
    :return:cards  名片夹
    '''
    print('修改名片')
    name = input('请输入姓名:')
    # 遍历名片夹,对比找到要修改的名片
    for i in cards:
        if i.get('name') == name:
            name = input('请输入姓名:')
            sex = input('请输入性别:')
            job = input('请输入职位:')
            tel = input('请输入电话:')
            company = input('请输入公司:')
            # 合成字典
            card = {'name': name, 'sex': sex, 'job': job, 'tel': tel, 'company': company}
            # 将修改的信息放到名片夹
            cards.append(card)
            print('名片修改成功')
            break
    else:
        print('没有找到信息')


def menu_delete(cards):
    '''
    删除名片夹中指定姓名的名片
    :return:cards  名片夹
    '''
    # 输入要删除的名片名字
    name = input('请输入名字:')
    # 遍历找到这张名片
    for i in cards:
        if i.get('name') == name:
            # 找到了就删除
            cards.remove(i)
            print(f'删除{name}名片成功')
            break
    else:
        print('输入的信息没有查找到')


def menu_query(cards):
    '''
    查询名片夹中录入姓名的名片详细信息
    :return:cards   名片夹
    '''
    # 录入查询信息
    name = input('请输入姓名:')
    # 遍历查找对比找到录入的名字
    for i in cards:
        if i.get('name') == name:
            info = (f'''
                *************************************
                {i['company']}

                {i['name']}  ({i['sex']})
                {i['job']}
                {i['tel']}
                *************************************
                ''')
            print(info)
            break
    else:
        print('输入的名字不存在')


def quit():
    '''
    退出系统
    :return:
    '''
    exit('退出名片管理系统')

def write_cards(cards):
    '''
    w覆盖写入数据到文件中
    :param cards: 名片夹
    :return:
    '''
    #打开文件
    fp = open('./cards.cvs','w',encoding='utf-8')
    #写入文件,遍历文件夹
    for card in cards:
        fp.write(f"{card['name']},{card['sex']},{card['job']},{card['tel']},{card['company']}\n")
    #关闭文件
    fp.close()

def read_cards(cards):
    '''
    读取文件中的数据到名片夹
    :param cards: 名片夹
    :return:
    '''
    #打开文件
    fp=open('./cards.cvs','r',encoding='utf-8')
    #读取文件复制给变量
    lines=fp.readlines()
    #输出
    for l in lines:
        #获取名片信息,去空格,用,分割
        tmp=l.strip().split(',')
        #组装成字典
        card={'name':tmp[0],'sex':tmp[1],'job':tmp[2],'tel':tmp[3],'company':tmp[4]}
        #将名片追加到名片夹中
        cards.append(card)
    #关闭文件
    fp.close()


def main():
    '''
    名片管理系统,所有功能框架
    :return:
    '''
    # 输入测试数据
    cards = [

    ]
    #读取文件中的数据到名片夹中
    read_cards(cards)
    #系统功能循环
    while True:
        # 调用函数
        show_menu = menu()
        # 输入菜单1,查看名片列表
        if show_menu == '1':
            menu_seek(cards)
        # 输入菜单2,添加名片
        elif show_menu == '2':
            menu_add(cards)
        # 输入菜单3,修改名片
        elif show_menu == '3':
            menu_revise(cards)
        # 输入菜单4,删除名片
        elif show_menu == '4':
            menu_delete(cards)
        # 输入菜单5,查询名片
        elif show_menu == '5':
            menu_query(cards)
        # 选择0,退出名片查询系统
        elif show_menu == '0':
            quit()
            # 输入其它菜单选项,重新选择一次
        else:
            print('请重新选择菜单:')
        #将名片夹中数据以覆盖的方式写入文件中
        write_cards(cards)


#调用名片管理系统
main()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值