功能菜单:
第一个模块:
import cards_tools
while True:
cards_tools.show_menu()
action_str = input("请选择希望执行的操作:")
print("您选择的操作是[%s]" % action_str)
# 1,2,3 针对名片的操作
if action_str in ["1", "2", "3"]:
if action_str == "1":
cards_tools.new_card()
elif action_str == "2":
cards_tools.show_all()
else:
cards_tools.search_card()
elif action_str == "0":
print("欢迎再次使用【名片管理系统】")
break
else:
print("输入错误,请重新输入")
封装函数模块:
card_list = []
def show_menu():
"""
显示菜单功能
"""
print("*" * 50)
print("欢迎使用【名片管理系统】V 1.0")
print("1.新增名片")
print("2.显示全部")
print("3.查询名片")
print("0.退出系统")
print("*" * 50)
def new_card():
"""
新增名片
:return:
"""
print("-" * 50)
print("功能:新增名片")
# 1.提示用户输入名片信息
name_str = input("请输入姓名:")
phone_str = input("请输入电话号码:")
qq_str = input("请输入QQ:")
email_str = input("请输入邮箱:")
# 2.使用用户输入的信息建立一个名片字典
card_dict = {"name": name_str,
"phone": phone_str,
"qq": qq_str,
"email": email_str}
# 3.将名片字典添加到列表中
card_list.append(card_dict)
# 4.提示用户添加成功
print("添加 %s 的名片成功" % name_str)
def show_all():
"""
显示所有名片
:return:
"""
print("-" * 50)
print("功能:显示全部")
# 打印表头
for name in ["姓名", "电话", "QQ", "邮箱"]:
print(name, end="\t\t")
print("")
# 打印分割线
print("=" * 50)
# 判断列表中是否有名片信息
if len(card_list) == 0:
print("当前没有任何的名片记录,请使用新增功能添加名片!")
return # renturn关键字可以返回函数的执行结果
# 遍历名片列表,依次输出列表信息
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"]))
def search_card():
"""
查询名片
:return:
"""
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"]))
# 提示下一步操作:1、修改名片信息 2、删除该名片 0、返回上一操作步骤
deal_card(card_dict)
break
else:
print("抱歉,没有找到%s的名片信息" % find_name)
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"], "邮箱: ")
print("修改名片成功")
elif action_str == "2":
card_list.remove(find_dict)
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