main.py

import tools

while True:
# 显示功能菜单
tools.menu()

action_str=input("请选择希望执行的操作:")
print("您选择的操作是【%s】" % action_str)

if action_str in ["1","2","3"]:
if action_str=="1":
# 新增名片
tools.create()
elif action_str=="2":
# 显示所有名片
tools.show()
elif action_str=="3":
# 搜索名片
tools.search()
elif action_str=="0":
print("欢迎再次使用【名片管理系统】")
break
else:
print("您输入的不正确,请重新选择")

tools.py

list1=[]

def menu():
"""打印菜单"""
print("*"*50)
print("欢迎使用【名片管理系统】v1.0")
print()
print("1.新增名片")
print("2.显示全部")
print("3.搜索名片")
print()
print("0.退出系统")
print("*"*50)

def create():
"""新增名片"""
print("-"*50)
print("新增名片")

name=input("请输入姓名:")
phone=input("请输入电话:")
qq=input("请输入QQ:")
email=input("请输入邮箱:")

dic={"name":name,
"phone":phone,
"qq":qq,
"email":email}

list1.append(dic)
print(dic)
print("添加%s的名片成功" % name)

def show():
"""显示所有名片"""
print("-"*50)
print("显示所有名片")
if len(list1)==0:
print("当前没有任何的名片记录,请使用新增功能添加名片!")
return
# 打印表头
for i in ["姓名","电话","QQ","邮箱"]:
print(i,end="\t\t")
print()
print("="*50)
# 显示名片
for i in list1:
print("%s\t\t%s\t\t%s\t\t%s\t\t" % (i["name"],
i["phone"],
i["qq"],
i["email"]))

def search():
"""搜索名片"""
print("-"*50)
print("搜索名片")
find_name=input("请输入要搜索的姓名:")
for i in list1:
if i["name"]==find_name:
print("姓名\t\t电话\t\tQQ\t\t邮箱")
print("="*50)
print("%s\t\t%s\t\t%s\t\t%s\t\t" % (i["name"],
i["phone"],
i["qq"],
i["email"]))
# 针对找到的名片记录执行修改和删除的操作
deal_card(i)
break
else:
print("抱歉,没有找到%s" % find_name)

def deal_card(find_dict):
"""处理查找到的名片"""
action=input("请选择要执行的操作:[1] 修改 [2] 删除 [0] 返回上级菜单")
if action=="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=="2":
list1.remove(find_dict)
print("删除名片成功!")


def input_card_info(dict_value,tip):
"""输入名片信息"""
# 提示用户输入内容
result=input(tip)
# 针对用户的输入进行判断,如果用户输入内容,直接返回结果
if len(result)>0:
return result
# 如果用户没有输入内容,返回字典中的原值
else:
return dict_value


执行效果:
1