主运行循环:
import cards_tools
while True:
cards_tools.show_menu()
action_str = input("请输入希望执行的操作:")
# python2.7中raw_input输出str类型,input默认为int类型;Python3 input默认str类型。
print("您选择的操作是【%s】" % action_str)
# print("您选择的操作是【{}】" .format(action_str)) 用format也可实现
if action_str in ["1","2","3"]:
if action_str == "1":
cards_tools.new_cards()
elif action_str == "2":
cards_tools.show_cards()
elif action_str == "3":
cards_tools.search_cards()
elif action_str == "0":
print("欢迎再次使用【名片管理系统】")
break
else:
print("您输入的不正确,请重新输入")
功能模块编写:
card_list = []
#欢迎界面
def show_menu():
print("*"*50)
print("欢迎使用【名片管理系统V1.0】")
print("")
print("1.新增名片\n2.显示全部\n3.查询名片")
#for funct in ["1.新增名片","2.显示全部","3.查询名片"]:
# print(funct)
print("")
print("0.退出系统")
print("*"*50)
#新增名片
def new_cards():
print("="*50)
print("新增名片")
name_str = input("请输入姓名:")
age_str = input("请输入年龄:")
phone_str = input("请输入电话号码:")
qq_str = input("请输入QQ号码:")
card_dict = {"name":name_str,
"age":age_str,
"phone":phone_str,
"qq":qq_str
}
card_list.append(card_dict)
print(card_list)
print("名片添加成功!")
#显示全部名片
def show_cards():
print("=" * 50)
print("显示全部名片")
if len(card_list) == 0:
print("当前没有名片信息,请先新增名片!")
return
for name in ["姓名", "年龄", "电话", "qq"]:
print(name, end="\t\t")
print("")
print("-" * 50)
for card_dict in card_list:
print("%s\t\t%s\t\t%s\t\t%s" %(card_dict["name"],
card_dict["age"],
card_dict["phone"],
card_dict["qq"]))
#查找名片
def search_cards():
print("="*50)
print("查询名片")
find_name = input("请输入要查询的姓名:")
for card_dict in card_list:
if card_dict["name"] == find_name:
print("姓名:%s\n年龄:%s\n电话:%s\nqq:%s" %(card_dict["name"],
card_dict["age"],
card_dict["phone"],
card_dict["qq"]))
deal_card(card_dict)
break
else:
print("抱歉,没有找到%s" %find_name)
#查询名片补充,对找到的名片进行修改或删除
def deal_card(find_dict):
action_str = input("请输入您要执行的操作"
"【1】修改名片 【2】删除名片 【3】返回上级菜单:")
if action_str == "1":
find_dict["name"] = input_card_info(find_dict["name"],"姓名:")
find_dict["age"] = input_card_info(find_dict["age"],"年龄:")
find_dict["phone"] = input_card_info(find_dict["phone"],"电话:")
find_dict["qq"] = input_card_info(find_dict["qq"],"qq:")
print("修改名片成功!")
if action_str == "2":
card_list.remove(find_dict)
print("删除名片成功!")
#修改名片补充,如果用户只修改电话或年龄
def input_card_info (dict_value, tip_message):
result_str =input(tip_message)
if len(result_str) > 0:
return result_str
else:
return dict_value