card_main.py
1 import time
2 import card_tool
3 # while True 表示不停的循环 无限循环
4 while True:
5 # 显示功能菜单
6 card_tool.show_menu()
7 i = input("请输入您的选择:")
8 print("您选择的是【%s】" % i)
9 if i in ["1", "2", "3"]:
10 if i == "1":
11 card_tool.new_card()
12 elif i == "2":
13 card_tool.show_card()
14 elif i == "3":
15 card_tool.search_card()
16 elif i == "0":
17 print("退出系统")
18 time.sleep(2)
19 break
20 else:
21 print("您的输入有误,请重新输入您的选择")
22 time.sleep(2)
card_tool.py
1 import time
2 # 记录所有的名片字典
3 card_list = []
4
5
6 def show_menu():
7 """ 定义一个菜单函数"""
8 print("*"*50)
9 print("欢迎使用【名片管理系统 V1.0】")
10 print("")
11 print("1.新建名片")
12 print("2.显示全部")
13 print("3.查询名片")
14 print("\r")
15 print("0.退出系统")
16 print("*"*50)
17
18
19 def new_card():
20
21 """新增名片"""
22 print("-"*50)
23 print("新增名片")
24 name_str = input("请输入姓名:")
25 phone_str = input("请输入电话:")
26 qq_str = input("请输入qq号码:")
27 email_str = input("请输入邮箱:")
28 card_dict = {"name": name_str,
29 "phone": phone_str,
30 "qq": qq_str,
31 "email": email_str}
32 card_list.append(card_dict)
33 print(card_list)
34 print("添加%s的名片成功" % name_str)
35 time.sleep(2)
36
37
38 def search_card():
39 """搜索名片"""
40 print("-" * 50)
41 print("搜素名片")
42 find_name = input("请输入要查找的姓名:")
43 for card_dict in card_list:
44 if card_dict["name"] == find_name:
45 print("姓名\t\t电话\t\tQQ\t\t邮箱")
46 print("="*50)
47 print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"],
48 card_dict["phone"],
49 card_dict["qq"],
50 card_dict["email"]))
51 # TODO 处理后面修改的内容
52 deal_card(card_dict)
53 break
54 else:
55 print("抱歉,没有找到%s" % find_name)
56 time.sleep(1)
57
58
59 def show_card():
60
61 """显示名片"""
62 print("-" * 50)
63 print("显示名片")
64 # 打印表头
65 if len(card_list) == 0:
66 print("当前没有记录任何名片,请使用新增功能添加名片")
67 # return 可以返回一个执行的结果
68 # 下方的代码不会被执行
69 # 如果 return 后面没有内容 ,表示返回到调用函数的位置
70 # 并且不符合任何结果
71 return
72 for name in ["姓名", "电话", "qq", "邮箱"]:
73 print(name, end="\t\t")
74 print("")
75 # 打印分割线
76 print("="*50)
77 # 遍历名片列表
78 for card_dict in card_list:
79 print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"],
80 card_dict["phone"],
81 card_dict["qq"],
82 card_dict["email"]))
83 time.sleep(2)
84
85
86 def deal_card(find_dict):
87 action_card = input("请选择要执行的操作 "
88 "【1】修改 【2】删除 【0】返回上一级")
89 if action_card == "1":
90 find_dict["name"] = input_card_info(find_dict["name"], "请输入姓名:")
91 find_dict["phone"] = input_card_info(find_dict["phone"], "请输入电话号码:")
92 find_dict["qq"] = input_card_info(find_dict["qq"], "请输入qq:")
93 find_dict["email"] = input_card_info(find_dict["email"], "请输入邮箱:")
94 print("修改名片成功")
95 elif action_card == "2":
96 card_list.remove(find_dict)
97 print("删除名片%s" % find_dict["name"])
98
99
100 def input_card_info(dict_value, tip_message):
101 """ 输入名片信息
102
103 :param dict_value: 字典原有的信息
104 :param tip_message: 输入的提示信息
105 :return: 如果用户输入内容就直接返回,否则返回字典中原有的信息
106 """
107 # 1.提示用户信息
108 result_str = input(tip_message)
109 # 2.针对用户输入的信息进行判断,如果用户输入了内容,直接返回。
110 if len(result_str) > 0:
111 return result_str
112 # 3.如果用户没有输入内容,返回字典原有的值
113 else:
114 return dict_value