Python-控制台实现简单的名片管理系统
通过Python开发一个基于控制台的名片管理系统,具体看下图以及相关代码。

cards_main.py文件中提供程序的入口
import cards_toolslx
while True:
# TODO 显示功能菜单
cards_toolslx.show_menu()
GongNeng = input("请选择您要使用的功能:")
print("您选择的操作是:[%s]" % GongNeng)
if GongNeng in ["1","2","3"]:
#新增名片
if GongNeng == "1":
cards_toolslx.ChaRu()
#显示名片
elif GongNeng == "2":
cards_toolslx.XianShi()
#查询名片
else:
cards_toolslx.ChaXun()
elif GongNeng == "0":
print("-" * 50)
print("欢迎再次使用名片管理系统")
break
else:
print("-" * 50)
print("输入有误,请重新输入")cards_toolslx.py文件提供名片系统中所用的各种函数
"""记录所有名片字典的列表"""
card_list = []
def show_menu():
"""显示菜单"""
print("*" * 50)
print("欢迎使用名片管理系统")
print("1-新增名片")
print("2-显示全部")
print("3-搜索名片")
print("0-退出系统")
print("*" * 50)
def ChaRu():
"""
新增名片
"""
print("-" * 50)
print("新增名片")
#1.提示用户输入名片的详细信息
name_str = input("请输入姓名:")
phone = input("请输入电话:")
qq_str = input("请输入qq:")
emall_str = input("请输入邮箱:")
#2.当用户输入完成后建立用户名片字典
card_dict = {"name":name_str,
"phone":phone,
"qq":qq_str,
"emall":emall_str}
card_list.append(card_dict)
print(card_list)
#3.名片字典添加到列表中
print("%s名片添加成功!" % name_str)
def XianShi():
"""显示全部"""
print("-" * 50)
print("显示全部")
#打印表头
for name in ["姓名","电话","qq","邮箱"]:
print(name,end="\t\t\t\t")
print("")
print("="*50)
for card_dict in card_list:
print("%s\t\t%s\t\t%s2\t\t%s" % (card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["emall"]
))
def ChaXun():
"""搜索名片"""
print("-" * 50)
print("搜索名片")
SouSuo = input("请输入要搜索的名字:")
for a in card_list:
if SouSuo == a["name"]:
for name in ["姓名", "电话", "qq", "邮箱"]:
print(name, end="\t\t\t\t")
print("")
print("%s\t\t%s\t\t%s2\t\t%s" % (a["name"],
a["phone"],
a["qq"],
a["emall"]
))
deal_card(a)
break
else:
print("未搜索到%s的名片!" % SouSuo)
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["emall"] = input_card_info(find_dict["emall"],"邮箱")
print("成功修改名片")
elif action_str == "2":
card_list.remove(find_dict)
print("成功删除名片")
elif action_str == "0":
show_menu()
else:
print("输入错误,请重新选择!")
def input_card_info(dict_value,tip_message):
#1.提示用户输入内容
result_str = input_card_info(tip_message)
#2.针对用户的输入如进行判断,如果用户输入修改数据,直接返回结果
if len(result_str) > 0:
return result_str
else:
return dict_value
#3.如果用户没有输入内容,返回字典中原有的值