简单的名片管理系统
card_main.py
import time
import card_tool
# while True 表示不停的循环 无限循环
while True:
# 显示功能菜单
card_tool.show_menu()
i = input("请输入您的选择:")
print("您选择的是【%s】" % i)
if i in ["1", "2", "3"]:
if i == "1":
card_tool.new_card()
elif i == "2":
card_tool.show_card()
elif i == "3":
card_tool.search_card()
elif i == "0":
print("退出系统")
time.sleep(2)
break
else:
print("您的输入有误,请重新输入您的选择")
time.sleep(2)
card_tool.py
import time
# 记录所有的名片字典
card_list = []
def show_menu():
""" 定义一个菜单函数"""
print("*"*50)
print("欢迎使用【名片管理系统 V1.0】")
print("")
print("1.新建名片")
print("2.显示全部")
print("3.查询名片")
print("\r")
print("0.退出系统")
print("*"*50)
def new_card():
"""新增名片"""
print("-"*50)
print("新增名片")
name_str = input("请输入姓名:")
phone_str = input("请输入电话:")
qq_str = input("请输入qq号码:")
email_str = input("请输入邮箱:")
card_dict = {"name": name_str,
"phone": phone_str,
"qq": qq_str,
"email": email_str}
card_list.append(card_dict)
print(card_list)
print("添加%s的名片成功" % name_str)
time.sleep(2)
def search_card():
"""搜索名片"""
print("-" * 50)
print("搜素名片")
find_name = input("请输入要查找的姓名:")
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" % (card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["email"]))
# TODO 处理后面修改的内容
deal_card(card_dict)
break
else:
print("抱歉,没有找到%s" % find_name)
time.sleep(1)
def show_card():
"""显示名片"""
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" % (card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["email"]))
time.sleep(2)
def deal_card(find_dict):
action_card = input("请选择要执行的操作 "
"【1】修改 【2】删除 【0】返回上一级")
if action_card == "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_card == "2":
card_list.remove(find_dict)
print("删除名片%s" % find_dict["name"])
def input_card_info(dict_value, tip_message):
""" 输入名片信息
:param dict_value: 字典原有的信息
:param tip_message: 输入的提示信息
:return: 如果用户输入内容就直接返回,否则返回字典中原有的信息
"""
# 1.提示用户信息
result_str = input(tip_message)
# 2.针对用户输入的信息进行判断,如果用户输入了内容,直接返回。
if len(result_str) > 0:
return result_str
# 3.如果用户没有输入内容,返回字典原有的值
else:
return dict_value