通过Python开发一个基于控制台的名片管理系统,具体看下图以及相关代码。
cards_main.py文件中提供程序的入口
import cards_toolslx while True:
# TODO 显示功能菜单
cards_toolslx.show_menu() GongNeng = input("请选择您要使用的功能:")
print("您选择的操作是:[%s]" % GongNeng) if GongNeng in ["","",""]: #新增名片
if GongNeng == "":
cards_toolslx.ChaRu()
#显示名片
elif GongNeng == "":
cards_toolslx.XianShi() #查询名片
else:
cards_toolslx.ChaXun() elif GongNeng == "":
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 == "":
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 == "":
card_list.remove(find_dict)
print("成功删除名片") elif action_str == "":
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.如果用户没有输入内容,返回字典中原有的值