Python实现简易名片管理系统:从界面到增删改查完整教程
本文详细介绍如何使用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学习者有所帮助,欢迎继续支持本站获取更多技术资源。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













