import cards_tools
while True:
# TODO 显示功能菜单
cards_tools.show()
action_str = input("请选择希望执行的操作: ")
print("你选择的操作是【%s】" % action_str)
# 1 2 3 针对名片的操作
if action_str in ["1", "2", "3"]:
# 如果在1开发程序时,不希望立刻编写分支内部的代码
# 可以使用pa1ss关键字,表示一个占位符,能够保证程序的代码结构正确
# 程序运行时,pass关键字不会执行任何的操作
if action_str == "1":
cards_tools.new_card()
elif action_str == "2":
cards_tools.show_all()
elif action_str == "3":
cards_tools.search_card()
# 0 退出系统
elif action_str == "0":
print("欢迎再次使用【名片系统】")
break
# 其他内容输入错误,需要提示用户
else:
print("您输入的不正确,请重新选择")
# 记录所有的名片字典
card_list = []
def show():
print("*" * 50)
print("欢迎使用【名片管理系统】")
print("")
print("1,新增名片")
print("2,显示全部")
print("3,搜索名片")
print("")
print("0,退出系统")
print("*" * 50)
def new_card():
name_str = input("请输入姓名:")
phone_str = input("请输入电话:")
qq_str = input("请输入qq:")
email_str = input("请输入邮箱:")
card_dice = {"name": name_str,
"phone": phone_str,
"qq": qq_str,
"email": email_str}
card_list.append(card_dice)
print("名片添加成功")
def show_all():
""""显示所有名片"""
if len(card_list) == 0:
print("当前没有任何信息,请输入")
return
print("-" * 50)
print("显示所有名片")
# 打印表头
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 deal_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"], "email:")
elif action_str == "2":
card_list.remove(find_dict)
print("删除成功")
def search_card():
"""
查找记录
"""
print("-" * 50)
print("搜索名片")
find_name = input("请输入要搜索的姓名:")
for card_dict in card_list:
if card_dict["name"] == find_name:
print("找到了")
for name in ["姓名", "电话", "QQ", "邮箱"]:
print(name, end="\t\t")
print("")
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("抱歉没有找到")
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
执行结果
欢迎使用【名片管理系统】
1,新增名片
2,显示全部
3,搜索名片
0,退出系统
**************************************************
请选择希望执行的操作: 1
你选择的操作是【1】
请输入姓名:peng
请输入电话:3
请输入qq:14
请输入邮箱:1
名片添加成功
**************************************************
欢迎使用【名片管理系统】
1,新增名片
2,显示全部
3,搜索名片
0,退出系统
**************************************************
请选择希望执行的操作: 3
你选择的操作是【3】
--------------------------------------------------
搜索名片
请输入要搜索的姓名:peng
找到了
姓名 电话 QQ 邮箱
==================================================
peng 3 14 1
请输入要执行的操作 1修改 2 删除 0返回上级菜单1
姓名:
电话:4
qq:
email:
**************************************************
欢迎使用【名片管理系统】