- 名片管理器是一款生活实用性的软件,用来协助管理手机中所有的名片。该案例要求会用函数完成各种功能,共有六种功能如下图,通过接收键盘输入的序号响应用户选择的功能。一旦用户输入“6”,就会退出名片管理系统。具体要求如下

card_list=[]
def show_menu():
print("名片管理系统")
print('1、添加名片')
print('2、删除名片')
print('3、修改名片')
print('4、查询名片')
print('5、获取所有名片信息')
print('6、退出系统')
def new_card():
# 提示用户输入
print("*" * 10)
print("新增名片")
name_str = input("请输入姓名:")
phone_str = input("请输入电话:")
qq_str = input("请输入QQ号码:")
email_str = input("请输入Email:")
# 给输入的信息建立字典
card_dict = {"name": name_str,
"phone": phone_str,
"qq": qq_str,
"email": email_str}
# 将字典添加入列表
card_list.append(card_dict)
# 提示用户添加成功
print("添加成功")
def show_all():
if len(card_list) == 0:
print("当前还没有名片,请先进行添加名片操作!")
else:
print("显示所有名片")
for name in ["姓名", "电话", "QQ", "邮箱"]:
print(name, end="\t\t\t")
print("")
for card_dict in card_list:
print("%s\t\t\t%s\t\t\t%s\t\t\t%s" % (card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["email"]))
def search_card():
if len(card_list) == 0:
print("当前名片系统为空,没有可供查询的名片!")
return
print("搜索名片")
find_name = input("请输入想要查找的名片用户姓名:")
for card_dict in card_list:
if card_dict["name"] == find_name:
print("%s\t\t\t%s\t\t\t%s\t\t\t%s" % (card_dict["name"],card_dict["phone"], card_dict["qq"], card_dict["email"]))
print("")
break
else:
print("当前名片管理系统不存在你所搜索的用户%s!" % find_name)
def mod_card():
find_name = input("请输入想要修改的名片用户姓名:")
for card_dict in card_list:
if card_dict["name"] == find_name:
print("%s\t\t\t%s\t\t\t%s\t\t\t%s" % (
card_dict["name"], card_dict["phone"], card_dict["qq"], card_dict["email"]))
a=input("确认修改吗?y/n")
if a=='y':
mod_card1(card_dict)
else:
break
else:
print("当前名片管理系统不存在你所搜索的用户%s!" % find_name)
def mod_card1(find_dict):
input("请选择对用户%s进行修改操作(回车键继续)" % find_dict["name"])
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"], "email:")
print("修改成功!")
def del_card():
find_name = input("请输入想要删除的名片用户姓名:")
for card_dict in card_list:
if card_dict["name"] == find_name:
print("%s\t\t\t%s\t\t\t%s\t\t\t%s" % (
card_dict["name"], card_dict["phone"], card_dict["qq"], card_dict["email"]))
a=input("确认删除吗?y/n")
if a=='y':
del_card1(card_dict)
else:
break
else:
print("当前名片管理系统不存在你所搜索的用户%s!" % find_name)
def del_card1(find_dict):
input("请选择对用户%s进行删除操作(回车键继续)" % find_dict["name"])
card_list.remove(find_dict)
print("删除成功!")
def input_card_info(dict_value, tip_message):
result_str = input(tip_message)
if len(result_str) > 0:
return result_str
else:
return dict_value
while True:
show_menu()
action=input("请选择你要执行的操作:")
print("你要执行的操作是:%s"%action)
if action in ['1','2','3','4','5','6']:
if action=='1':
new_card()
elif action=='2':
del_card()
elif action=='3':
mod_card()
elif action=='4':
search_card()
elif action=='5':
show_all()
elif action=='6':
print("欢迎再次使用名片系统")
break
else:
print("你输入的不正确,请重新输入")