昨天忘记发拉
1.首先创建主函数,显示菜单,显示不同功能
import cards_tools
#无限循环,由用户决定什么条件停止运行
while True:
# 显示功能菜单
cards_tools.show_menu()
action_str = input("请选择操作功能:")
print("你选择的操作是:【%s】" %action_str )
#在编写程序时,比如希望不立刻编写内部分支代码,使用pass使运行结果正确
#pass起到占位作用
if action_str in ["1","2","3"]:
#新增名片
if action_str == "1":
cards_tools .new_card()
#显示全部
if action_str == "2":
cards_tools .show_all()
#查询名片
if action_str == "3":
cards_tools .search_card()
elif action_str =="0":
print("欢迎再次使用!")
break
else:
print("输入不正确,请重新输入")
2.创建实现不同功能的函数
#记录所有名片字典
card_list = []
def show_menu():
#显示菜单
print("*" * 50)
print("")
print("欢迎使用【名片管理系统】\n")
print("1.新建名片\n"
"2.显示全部\n"
"3.查询名片\n"
"0.退出系统")
print("*" * 50)
def new_card():
#新增名片
print("*"*50)
print("新增名片")
#提示用户输入名片详细信息
name=input("请输入姓名:")
tel=input("请输入电话:")
QQ=input("请输入qq:")
email=input("请输入邮箱:")
#使用用户输入信息建立名片字典
card_dict={"姓名":name,
"电话":tel,
"qq":QQ,
"邮箱":email}
#将名片字典添加到列表中
card_list .append(card_dict )
print(card_list )
#提示用户添加成功
print("添加 %s 成功!" % name)
def show_all():
#显示全部
print("*" * 50)
print("显示全部")
if len(card_list )==0:
print("没有任何名片信息,请输入名片信息!")
return
#打印表头
print("姓名",end="\t\t")
print("电话", end="\t\t")
print("qq", end="\t\t")
print("邮箱", 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["姓名"],
card_dict["电话"],
card_dict["qq"],
card_dict["邮箱"]))
def search_card():
#搜索名片
print("*" * 50)
print("搜索名片")
find_name=input("请输入要搜索姓名:")
for card_dict in card_list:
if find_name == card_dict["姓名"]:
print("找到了")
print("姓名\t\t电话\t\tqq\t\t 邮箱")
print("%s\t\t%s\t\t%s\t\t%s"% (card_dict["姓名"],
card_dict["电话"],
card_dict["qq"],
card_dict["邮箱"]))
deal_card(card_dict)
break
#TODO 判断是否要删除和修改
else:
print("抱歉,没有找到%s"% find_name )
def deal_card(find_dict):
"""处理查找到的名片
:param find_dict: 要查找信息
:return: 返回查找结果
"""
print(find_dict)
action_str=input("请输入对名片的操作 "
"[1] 修改 [2] 删除 [0] 返回上级")
if action_str == "1":
print("修改名片")
find_dict ["姓名"]=input_info(find_dict["姓名"],"请输入姓名:")
find_dict["电话"] = input_info(find_dict["电话"],"请输入电话:")
find_dict["qq"] = input_info(find_dict["qq"],"请输入qq:")
find_dict["邮箱"] = input_info(find_dict["邮箱"],"请输入邮箱:")
print("修改成功!")
elif action_str =="2":
card_list .remove(find_dict)
print("删除成功")
def input_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