基于python3基础课程,编写名片管理系统训练,有利于熟悉python基础代码的使用。
cards_main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#! /usr/bin/python3
import cards_tools
# 无线循环,由用户决定什么时候退出系统
while True :
# 显示功能菜单
cards_tools.show_menu()
action_str = input ( "请选择希望执行的操作:" )
print ( "\n\n\n\n\n您选择的操作是 【%s】 " % action_str)
# 1,2,3 针对名片的操作
if action_str in [ "1" , "2" , "3" ]:
# 1. 新增名片的处理
if action_str = = "1" :
cards_tools.new_card()
# 2. 显示所有名片
elif action_str = = "2" :
cards_tools.show_all()
# 3. 查询名片
elif action_str = = "3" :
cards_tools.search_card()
# 0 退出系统
elif action_str = = "0" :
print ( "欢迎再次使用【名片管理系统】" )
break
# 如不希望立即编写分支的代码,用pass占位,可以保证程序代码结构的正确
# pass
# 其他内容输入错误,需要提示用户
else :
print ( "您输入的不正确,请重新选择" )
|
cards_tools.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
# 记录所有的名片字典
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_dict)
# 4. 提示用户添加成功
print ( "\n\n\n\n\n添加 %s 的名片成功" % name_str)
def show_all():
"""显示所有名片"""
print ( "-" * 50 )
print ( "显示所有名片" )
# 判断是否存在名片记录,如果没有,提示用户并且返回
if len (card_list) = = 0 :
print ( "当前没有任何名片记录,请增加名片" )
# return 可以返回一个函数的执行结果
# 下方的代码不会执行
# 如果 return 后面没有任何内容,表示会返回到调用函数的位置
# 并且不返回任何结果
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[ "phone" ],
card_dict[ "qq" ],
card_dict[ "email" ]))
def search_card():
"""搜索名片"""
print ( "-" * 50 )
print ( "搜索名片" )
# 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" ]))
# 针对找到的名片进行修改或删除操作
deel_card(card_dict)
break
else :
print ( "抱歉,没有找到 %s" % find_name)
def deel_card(find_dict):
"""处理找到的名片
:param find_dict: 搜索到的名片
"""
print (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[ "phone" ], "电话(回车不修改):" )
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 ( "删除名片成功!" )
elif action_str = = "0" :
show_menu()
def input_card_info(dict_value, tip_message):
"""输入名片信息
:param dict_value:字典中原有的值
:param tip_message:输入提示文字
:return:如果用户输入了内容就返回内容,否则返回原有的值
"""
# 1. 提示输入修改的信息
result_str = input (tip_message)
# 2. 如果有输入时,返回输入的信息
if len (result_str) > 0 :
return result_str
# 3. 如果没有输入,返回原来的值
else :
return dict_value
|
源码下载:python3实现名片管理系统
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。