名片管理系统

本文探讨了一款高效名片管理系统的开发,通过数字化存储和智能搜索功能,帮助用户轻松整理和查找名片信息。系统支持导入导出,具备 OCR 技术以识别纸质名片,并能同步到多个设备,提升工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#储存所有名片的列表
cardList = []


def showMenu():
    '''显示功能菜单'''
    print("*" * 100)
    print("欢迎使用【名片管理系统】")
    print("1. 添加名片")
    print("2. 显示全部")
    print("3. 搜索名片")
    print("\n")
    print("0. 退出系统")
    print("*" * 100) 



def newCard():
    '''添加名片'''
    print("-" * 100)
    print("添加名片")

    #提示用户输入信息
    name = input("请输入姓名: ")
    phone = input("请输入电话: ")
    qq = input("请输入QQ: ")
    email = input("请输入邮箱: ")

    #建议一个名片字典
    cardDict = {"name":name, "phone":phone, "qq":qq, "email":email}
    
    #将名片添加到字典列表中
    cardList.append(cardDict)
    print(cardList)

    #提示用户添加成功
    print("添加%s的名片成功! " % name)




def showAll():
    '''显示所有名片'''
    print("-" * 100)
    print("显示所有名片")

    #判断是否存在名片记录,如果没有,提示用户并且返回
    if len(cardList) == 0:
        print("当前没有任何名片记录,请添加名片!")
    
        return

    #打印表头
    for name in ["name", "phone", "qq", "email"]:
        print(name, end="\t\t\t")
    
    print("")
    # 打印分割线    
    print("=" * 100)

    #遍历名片列表以此输出字典信息
    for cardDict in cardList:
        print("%s\t\t\t%s\t\t\t%s\t\t\t%s" % (cardDict["name"],
                                        cardDict["phone"], 
                                        cardDict["qq"], 
                                        cardDict["email"]))


def searchCard():
    '''搜索名片'''
    print("-" * 100)
    print("搜索名片")

    #提示用户输入要搜索的姓名
    findName = input("请输入要搜索的姓名: ")

    #遍历名片列表,查询要搜索的姓名,如果没有找到,需要提示用户
    for cardDict in cardList:
        if cardDict["name"] == findName:
            
            print("姓名\t\t电话\t\tQQ\t\t邮箱")
            print("=" * 100)
            print("%s\t\t%s\t\t%s\t\t%s" % (cardDict["name"],
                                            cardDict["phone"], 
                                            cardDict["qq"], 
                                            cardDict["email"]))

            #针对找到的名片记录执行修改和删除操作
            dealCard(cardDict)

            break
    else:
        print("抱歉,没有找到 %s" % findName)


def dealCard(cardDict):

    print(cardDict)
    
    actionStr = int(input("请输入要执行的操作【1】修改 【2】删除 【0】返回上一级"))

    if actionStr == 1:

        cardDict["name"] = inputCartInfo(cardDict["name"], "姓名: ")    
        cardDict["phone"] = inputCartInfo(cardDict["phone"], "电话: ")
        cardDict["qq"] = inputCartInfo(cardDict["qq"], "QQ: ")
        cardDict["email"] = inputCartInfo(cardDict["email"], "邮箱: ")
        print("修改名片成功")

    elif actionStr == 2:
        
        cardList.remove(cardDict)
        print("删除名片成功")


def inputCartInfo(dictValue, tipMessage):

    #提示用户输入的信息
    resultStr = input(tipMessage)

    #针对用户的输入进行判断,如果用户输入了内容,直接返回结果
    if len(resultStr) > 0:

        return resultStr

    #如果用户没有输入内容,返回字典中原来的值
    else:
        return dictValue
    

    
#死循环
while True:

    #调用菜单功能
    showMenu()
    actionStr = int(input("请选择执行的操作: "))
    print("你选的操作是:【%d】" % actionStr)

    #对用户的信息,通过列表的方式进行判断
    if actionStr in [1, 2, 3]:
        
        #添加名片
        if actionStr == 1:
            newCard()
        
        #显示名片
        elif actionStr == 2:
            showAll()

        #查询名片
        elif actionStr == 3:
            searchCard()

    elif actionStr == 0:
        print("欢迎再次使用【名片管理系统】")
        break

    else:
        print("您输入的不正确,请重新选择")
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值