淘先锋技术网

首页 1 2 3 4 5 6 7

#记录所有的名片字典

card_list =[]defshow_menu():""""显示信息"""

print("*"*50)print("欢迎使用【名片管理系统】V1.0")print("")print("1. 新增名片")print("2. 显示全部")print("3. 搜索名片")print("")print("0. 退出系统")print("*"*50)defnew_card():"""新增名片"""

print("-"*50)print("功能:新增名片")#1. 提示用户输入名片详细信息

name_str = input("请输入姓名:")

phone_str= input("请输入电话号码:")

qq_str= input("请输入QQ:")

email_str= input("请输入邮箱:")#2. 使用用户的输入信息建立一个名片字典

card_dic = {"name":name_str,"phone":phone_str,"qq":qq_str,"email":email_str}#3. 将名片字添加到列表中

card_list.append(card_dic)#4, 提示用户添加成功

print("添加%s的名片成功" %name_str)defshow_all():"""显示所有名片"""

print("-" * 50)print("功能:显示所有名片")#判断是否存在名片记录

if len(card_list) ==0:print("当前没有名片记录,请使用功能1添加名片")#return下方的代码不会被执行

return

#打印表头

for name in ["姓名", "电话", "QQ", "邮箱"]:print(name, end="\t\t") #用制表符

#打印分割线

print("")print("="*50)#遍历变量列表,输出名片字典

for card_dict incard_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"]))defsearch_card():"""搜索名片"""

print("-" * 50)print("功能:搜索名片")#1. 提示用户输入要搜索的名片

find_name = input("请输入要搜索的姓名")#2,遍历名片列表,查询姓名,如果没找到,要提示用户

for card_dict incard_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)defdeal_card(find_dict):"""处理查找到的名片

:param 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"], "邮箱[回车不修改]:")elif action_str == "2":

card_list.remove(find_dict)print("删除名片成功!")definput_card_info(dic_value, tip_message):"""输入名片信息

:param dic_value: 字典中原有的值

:param tip_message: 输入的提示信息

:return: 如果用户输入了内容就返回内容,否则返回字典中原有的值"""

#1. 提示用户输入内容

result_str =input(tip_message)#2,针对用户的输入进行判断,如果输入了内容则直接返回结果

if len(result_str) >0 :returnresult_str#3. 如果用户什么也没有输入则返回”字典中原有的值“

else:return dic_value