1.主文件*
#! /usr/bin/python
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()
#查询名片
elif action_str == "3":
cards_tools.search_card()
elif action_str == "0":
print("欢迎再次使用【名片管理系统】")
#退出系统
break
# pass
#如果在开发程序时候,不希望立刻编写内部分支的代码,
#可以使用pass关键字,来表示一个占位符,能够保证程序的正确运行(代码结构的正确)
#pass不会执行任何的操作!只是一个占位符
else:
print("您输入的不正确,请重新选择")
**2.名片函数**
#!/usr/bin/python
#记录所有的名片字典
card_list = []
def show_menu():
"""显示菜单"""
print("*" * 50)
print("欢迎使用【名片管理系统】 V 1.0")
print("")
print("1.新增名片")
print("2.显示全部")
print("3.查询名片")
print("")
print("0.退出系统")
print("*" * 50)
def new_card():
"""新增名片"""
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)
#print(card_list)
#4.提示用户添加成功
print("添加%s的名片成功" % name_str)
def show_all():
"""显示所有名片"""
print("显示所有名片")
print("-" * 50)
#判断是否存在名片记录,如果没有,提示用户并且返回
if len(card_list) == 0:
print("当前没有任何记录,请添加名片")
#return可以返回一个函数的执行结果,下方的代码不会被执行
#如果retrun后面无任何内容,表示返回调用函数的位置,并且不返回任何结果
return(card_list)
for name in ["姓名","电话","QQ","邮箱"]:
print(name ,end="\t\t")
print("")
#打印分割线
print("=" * 50)
#遍历名片列表
for card_dicts in card_list:
print("%s\t\t%s\t\t%s\t\t%s" % (card_dicts["name"],
card_dicts["phone"],
card_dicts["qq"],
card_dicts["email"]))
#print(card_dict)
def search_card():
"""搜索名片"""
print("查询名片")
print("-" * 50)
#1.提示用户输入要搜索额姓名
find_name = input("请输入要查找的姓名")
#2.遍历名片列表,查找要搜索的姓名
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"]))
#后续修改删除操作
deal_card(card_dict)
break
else:
print("没有找到%s记录,请先录入名片" %find_name)
def deal_card(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["name"] ,"修改电话")
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("删除名片:【%s】成功!" %find_dict["name"])
def input_card_info(dict_value,tip_messgae):
#1.提示用户输入内容
result_str=input(tip_messgae)
#2.针对用户的输入进行判断
if len(result_str) >0:
return result_str
else:
return dict_value
#3.如果用户没有输入,返回字典中的原有的值