本文实例为大家分享了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