Skip to content

Commit 5843e21

Browse files
committed
feat: cards tools
1 parent 2320aac commit 5843e21

File tree

2 files changed

+118
-0
lines changed

2 files changed

+118
-0
lines changed

codes/card_manage/cards_tools.py

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

0 commit comments

Comments
 (0)