# 记录所有名片的列表
card_list = []
def show_menu():
"""
显示菜单
:return:
"""
print("*" * 50)
print("欢迎使用【名片管理系统】V 1.0")
print()
print("1. 新增名片")
print("2. 显示全部")
print("3. 查询名片")
print()
print("0. 退出系统")
print("*" * 50)
def new_card():
"""
新增名片
:return:
"""
print("-" * 50)
print("新增名片")
# 1.提示用户输入名片的详细信息
name = input("请输入姓名:")
phone = input("请输入电话:")
qq = input("请输入qq:")
email = input("请输入邮箱:")
# 2.使用用户输入的信息建立一个名片字典
card_dict = {"name": name,
"phone": phone,
"qq": qq,
"email": email}
# 3.将名片字典添加到列表中
card_list.append(card_dict)
print(card_list)
print("添加【%s】的名片成功" % name)
def show_all():
"""
显示所有名片
:return:
"""
print("-" * 50)
print("显示所有名片")
# 列表为空,给出提示并返回
if len(card_list) == 0:
print("当前没有任何名片记录,请使用新增功能添加名片")
return
# 打印表头
for name in ["姓名", "电话", "QQ", "邮箱"]:
print(name, end="\t\t")
print()
# 打印分割线
print("=" * 50)
# 遍历名片列表依次输出字典信息
for card_dict in card_list:
print("%s\t\t%s\t\t%s\t\t%s\t\t" % (
card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["email"]
))
def search_card():
"""
查找名片
:return:
"""
print("-" * 50)
print("查找名片")
# 1.提示用户输入要搜索的姓名
find_name = input("请输入要搜索的姓名:")
# 2.遍历名片列表,查询要搜索的姓名,如果没有找到,需要提示用户
for card_dict in card_list:
if card_dict["name"] == find_name:
print("姓名\t\t电话\t\tQQ\t\t邮箱")
print("=" * 50)
print("%s\t\t%s\t\t%s\t\t%s\t\t" % (
card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["email"]
))
# 针对找到的记录执行修改和删除的操作
deal_card(card_dict)
break
else:
# 没有找到,给出统一提示
print("抱歉没有找到%s" % find_name)
def deal_card(find_dict):
"""
处理查找到的名片
:param find_dict:查找到的名片
"""
print(find_dict)
action_str = input("请选择需要执行的操作:"
"[1] 修改 [2] 删除 [0] 返回上级菜单")
if action_str == "1":
find_dict["name"] = input_card_info(find_dict["name"], "姓名:")
find_dict["phone"] = input_card_info(find_dict["phone"], "电话:")
find_dict["qq"] = input_card_info(find_dict["qq"], "QQ:")
find_dict["email"] = input_card_info(find_dict["email"], "邮箱:")
print("修改名片成功!")
elif action_str == "2":
card_list.remove(find_dict)
print("删除名片成功!")
def input_card_info(dict_value, tip_message):
"""
输入名片信息
:param dict_value:字典原有值
:param tip_message:提示信息
:return:如果用户输入为空,则返回字典原有值;否则返回用户输入内容
"""
# 获取用户输入
result_str = input(tip_message)
# 判断用户输入是否为空
if len(result_str) > 0:
# 不为空返回用户输入的字符串
return result_str
else:
# 为空返回字典原有值
return dict_value
python名片管理系统:名片工具类
最新推荐文章于 2023-04-13 15:18:35 发布