Python实现简易名片管理系统:从界面到增删改查完整教程

晚来风
晚来风
发布时间:2026-10-14 | 3人浏览过
原创

本文详细介绍如何使用Python构建一个简易的名片管理系统。通过分离主程序cards_main.py与工具模块cards_tool.py,实现了菜单显示、名片创建、列表展示及查询修改删除等核心功能。文章结合代码片段与运行截图,逐步解析while循环控制流程、字典存储结构及用户交互逻辑,适合Python初学者理解模块化编程思想。

名片管理系统概述

本文分享了一个使用Python编写的简易名片管理系统实例,供读者参考学习。

名片管理系统

开发前提:构建该系统需创建两个Python文件,分别为cards_main.py(主程序)和cards_tool.py(功能模块)。前者负责主逻辑流程,后者提供被调用的函数接口。

主程序与模块结构设计

1. 主程序逻辑实现

主界面与菜单逻辑


import cards_tool as ct   #导入cards_tool文件,简称ct,以便调用其中的函数
while True:
    ct.show_menu()
    num=int(input("请选择操作功能:"))
    print(f"您选择的操作是[{num}]")
    if num==0:
        break
    elif num==1:
      ct.creat_card()
    elif num==2:
        ct.show_cards()
    elif num==3:
        ct.search_card()
    else:
        print("对不起,你输入的有误,请重新输入")
print("欢迎再次使用名片管理系统!")

系统启动后首先显示主菜单界面:

说明:show_menu()函数负责渲染菜单,creat_card()用于新建名片,show_cards()用于展示所有名片,search_cards()用于查询特定名片。系统通过读取用户输入的数字来执行对应功能。为确保系统持续运行,上述逻辑封装在while循环中,仅当用户输入0时才会退出系统。

2. 菜单功能代码实现:

菜单显示功能实现


def show_menu():
    print("*"*50)
    print("欢迎使用[名片管理系统]")
    print("1.新建名片")
    print("2.显示全部")
    print("3.查询名片")
    print("0.退出系统")
    print("*"*50)

3. 创建名片功能代码实现:

新建名片功能实现


def creat_card():
    print("-"*50)
    print("功能:新增名片")
    name=input("请输入姓名:")
    number=input("请输入电话号码:")
    qq= input("请输入qq:")
    card_dict={"name":name,"phone":number,"qq":qq}
    cards_list.append(card_dict)
    print(f"添加[{name}]的名片成功!")

说明:首先在cards_tool.py中定义全局变量cards_list = [],用于存储所有名片数据。每个名片以字典形式存储用户的具体信息。

操作流程示例:

说明:每次功能执行完毕后,程序会自动返回主菜单界面等待下一次操作。

4. 显示所有名片功能代码实现:

展示所有名片功能


def show_cards():
    print("-" * 50)
    print("功能:显示所有名片")
    if cards_list:
        for name in ["name", "number", "qq"]:
            print(name,end="\t\t")
        print()
        print("="*50)

        for card_dict in cards_list:
            for key in card_dict:
                print(f"{card_dict[key]}\t\t\t",end="")
            print()
    else:
        print("暂时没有名片,请使用新建名片功能添加名片!")

说明:代码通过if语句判断cards_list列表是否为空。若为空,则提示用户暂无名片;若不为空,则遍历列表并打印每条名片的详细信息。

假设此前已添加一位姓名为“奈落”的名片,接下来演示如何显示所有已保存的名片信息。

5. 查询名片功能代码实现:

查询名片功能实现


def search_card():
    print("-" * 50)
    print("功能:查找名片")
    name=input("请输入要查找的姓名:")
    for card_dict in cards_list:
        for key in card_dict:
            if card_dict[key]==name:
                print("name","phone","qq")
                print("=" *50)
                print(card_dict["name"],card_dict["phone"],card_dict["qq"],end="\t")
                print()
                print("=" *50)
                deal_card(card_dict)
                return
    print("该用户不存在!")

操作流程示例:

说明:若查询成功,则输出该名片的详细信息;若未找到,则提示用户不存在。其中deal_card(card_dict)函数用于对找到的名片进行后续操作,该函数接收一个包含名片详细信息的字典作为参数。

6. 名片后续操作(修改/删除)代码实现:

名片后续操作处理


def deal_card(card_dict):
    num=int(input("请输入对名片名的操作(1:修改 2.删除 0.返回上级菜单):"))
    if num==1:
        print("----------------更新名片功能-----------------")
        update_card(card_dict)
    elif num==2:
        print("----------------删除名片功能-----------------")
        delete_card(card_dict)
    elif num == 0:
        return
    else:
        print("对不起,你输入的有误,请重新输入")
        deal_card(card_dict)

说明:用户输入对应数字以执行特定操作。update_card(card_dict)函数用于修改名片信息,delete_card(card_dict)函数用于删除名片。若输入无效数字,系统将提示错误并重新输入。

7. 修改名片功能代码实现:

修改名片功能实现


def  update_card(card_dict):
    name = input("请输入修改的姓名[按回车键可不修改]:")
    number = input("请输入修改的号码[按回车键可不修改]:")
    qq = input("请输入修改的qq[按回车键可不修改]:")
    if name:
        card_dict["name"]=name
    if number:
        card_dict["phone"]=number
    if qq:
        card_dict["qq"]=qq
    print("恭喜您修改成功!")

说明:程序判断用户输入的新信息是否为空。若为空,则保留原值不更改;若不为空,则更新字典中对应的字段值。

示例:将之前添加的名为“奈落”的名片用户名修改为“小奈落”,随后再次显示名片列表以验证更改结果。

操作流程示例:

8. 删除名片功能代码实现:

删除名片功能实现


def  delete_card(card_dict):
    result=input("是否删除该名片y/n:")
    if result in ["Y","y"]:
        cards_list.remove(card_dict)
        print("恭喜您,删除成功!")
    elif result in ["N","n"]:
        return
    else:
        print("对不起,你输入的有误,请重新输入")
        deal_card(card_dict)

示例:将刚才添加的用户名为“小奈落”的名片进行删除,随后再次显示全部名片信息以确认删除效果。

操作流程示例:

至此,一个基础的名片管理系统已开发完成,适合Python初学者练习。

以上就是本文的全部内容,希望对各位Python学习者有所帮助,欢迎继续支持本站获取更多技术资源。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表