本文实例为大家分享了python实现名片管理系统的具体代码,供大家参考,具体内容如下
功能需求
- 用户输入数字选择要进行的操作
- 添加名片
- 删除名片
- 修改名片
- 查询名片
- 显示所有名片
- 退出系统
缺点(待改进)
数据未保存到后台,添加的数据仅限当次运行程序时使用
话不多说,上代码!
主程序
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
|
# coding=utf8 from method import * # 导入定时器是为了方便观察每次操作的结果 from time import sleep cards = [] # 让这个程序无限循环,直到用户想要其终止 while true: sleep( 1 ) menu() ope_num = input ( '请输入要进行的操作(1-6): ' ) if ope_num = = '1' : addinfo(cards) elif ope_num = = '2' : delinfo(cards) elif ope_num = = '3' : updateinfo(cards) elif ope_num = = '4' : searchinfo(cards) elif ope_num = = '5' : showinfo(cards) elif ope_num = = '6' : sure = input ( '你确定要退出系统吗(yes/no)' ) if sure.upper() = = 'yes' : break else : print ( '输入错误,请重新输入!!!(数字1-6)' ) |
函数文件
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
|
# 定义一个menu方法 def menu(): print ( '------------------\n' '\t名片管理系统\n' '1:添加名片\n' '2:删除名片\n' '3:修改名片\n' '4:查询名片\n' '5:显示所有名片\n' '6:退出系统\n' '------------------' ) # 添加名片 def addinfo(lists): # 定义一个字典,存放这个名片的信息 info = {} # 获取姓名 def getname(): name = input ( '请输入姓名: ' ) # 判断姓名是否由 数字、字母、数字和字母 组成,即:不能包含标点符号和空格,不能为空 # 如果不符合要求,提示检查,并重新输入 # 一直提示用户输入,直到符合要求 while name.isalnum() ! = true: print ( '请检查输入!!! (不能包含标点符号和空格,不能为空) ' ) name = input ( '请输入姓名: ' ) return name # 获取手机号 def getphone(): phone = input ( '请输入手机号: ' ) # 判断手机号是否由 11位数字 组成 # 如果不符合要求,提示检查,并重新输入 while ( len (phone) ! = 11 ) or (phone.isdigit() ! = true): print ( '请检查输入!!! (由11位纯数字组成,不能为空) ' ) phone = input ( '请输入手机号: ' ) return phone # 获取qq号 def getqq(): qq = input ( '请输入qq号: ' ) # 判断qq号是否由 5-10位数字 组成 # 如果不符合要求,提示检查,并重新输入 while (( len (qq) < 5 ) or ( len (qq) > 10 )) or (qq.isdigit() ! = true): print ( '请检查输入!!! (由5-10位纯数字组成,不能为空) ' ) qq = input ( '请输入qq号: ' ) return qq # 如果该名片的序号为,列表长度+1 info[ 'num' ] = len (lists) + 1 # 通过调用其他函数获取对应信息 info[ 'name' ] = getname() info[ 'phone' ] = getphone() info[ 'qq' ] = getqq() # 将该字典存入名片列表中 lists.append(info) print ( '添加成功!' ) showinfo(lists) # 输出所有名片列表 def showinfo(lists): print ( '序号\t姓名\t\t手机号\t\tqq号' .ljust( 30 )) for lis in lists: for value in lis.values(): print (value, end = '\t' ) print ( '\n' ) # 删除名片 def delinfo(lists): del_name = input ( '请输入您需要删除名片的姓名: ' ) flag = true for lis in lists: if lis[ 'name' ] = = del_name: lists.remove(lis) print ( '删除成功!' ) showinfo(lists) flag = false break if flag = = true: print ( '名片不存在!!!' ) # 修改名片 def updateinfo(lists): upd_name = input ( '请输入您需要修改名片的姓名: ' ) flag = true for lis in lists: if lis[ 'name' ] = = upd_name: lis[ 'name' ] = input ( '请输入新姓名: ' ) lis[ 'phone' ] = input ( '请输入新手机号: ' ) lis[ 'qq' ] = input ( '请输入新qq号: ' ) print ( '修改成功!' ) showinfo(lists) flag = false break if flag = = true: print ( '名片不存在!!!' ) # 查询名片 def searchinfo(lists): se_name = input ( '请输入您需要查询的姓名: ' ) flag = true for lis in lists: if lis[ 'name' ] = = se_name: print ( '序号\t姓名\t\t手机号\t\tqq号' .ljust( 30 )) for value in lis.values(): print (value, end = '\t' ) print ( '\n' ) flag = false break if flag = = true: print ( '名片不存在!!!' ) |
执行结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_41803249/article/details/115556387