python通讯录信息管理系统,python通讯录管理程序
本文主要详细介绍了简单通讯录管理系统的python实现。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。
本文分享用python实现通讯录管理系统的具体代码,供大家参考。具体内容如下
=====欢迎使用通讯录管理系统====
1.增加
2.修正
3.删除
4.调查
分类
退出
=========================
请选择你要执行的操作的序号,具体要求:
1)通讯录要以文件的形式存储在硬盘上(比如D:\tongxunlu),每一条数据(联系人姓名、手机号码)都要存储在一行。如果一个联系人有多个手机号码,都存储在同一行,即通讯录中的每一条呼入数据占一行。
2)系统运行时,初始菜单如上,根据用户选择的序列号进行相应的操作:
增加功能:提醒角户输入姓名和手机号码,同时检查手机号码格式。如果合法,姓名和手机号码会被插入到通讯录的最后一行。
修改功能:修改用户指定的联系人的电话号码,修改后保存文件。删除功能:根据用户输入的姓名删除该记录。
查询功能:可以查询联系人的电话号码,也可以根据电话号码查询联系人姓名。排序功能:要求用户按照联系人姓名的升序或降序对通讯录进行排序。
退出功能:结束程序运行。注意:只有当你选择序号6(退出)时,程序的运行才会结束;否则,您将等待用户添加、删除和更改查询。
这里我利用openpyxl对Excel操作
源代码:
从openpyxl导入load_workbook
fn=rd:\tongxunlu.xlsx
#打印操作菜单
def showMenu():
打印(=======欢迎使用通讯录管理系统======)
打印( 1。添加’)
打印( 2。修改’)
打印( 3。删除’)
打印( 4。查询’)
打印( 5。排序’)
打印( 6。退出’)
打印(==============================)
#打开文件
def openFile():
wb=load_workbook(fn)
ws=wb.active
返回ws,wb
#判断手机号码是否合法
def is leg :
如果len(s)==11并且s.isdigit():
返回True
else:
返回False
#添加手机号码
def addData():
Data=input(输入名称和编号(用空格分隔): )。拆分(“”)
对于从最后一个手机号码开始的范围(len (data),1,-1) : #中的I
s=isLegal(数据[i - 1])
如果不是:
打印(手机号码必须是11位数字!)
添加数据()
else:
w1,w2=openFile()
w1.append(数据)
打印(成功添加!)
w2 .保存(fn)
#更换手机号码
def changeData():
标志=假
Data=input(请输入要修改的姓名和新手机号码(用空格分隔)3360 )。拆分(“”)
如果不是isLegal(data[1]):
打印(手机号码必须是11位数字!)
变更数据()
else:
w1,w2=openFile()
对于w1.rows:中的行
如果行[0]。值==数据[0]:
标志=真
行[1]。值=数据[1]
如果不是flag:
Print(通讯录里没有这个人!)
变更数据()
else:
打印(修改成功!)
w2 .保存(fn)
#删除人
定义删除():
标志=假
x=0
Name=input(请输入名称删除: )
w1,w2=openFile()
对于w1.rows:中的行
x=1
如果行[0]。value==name:
标志=真
w1 .删除_行(x)
如果不是flag:
Print(通讯录里没有这个人!)
else:
打印(删除成功!)
w2 .保存(fn)
#查找您的手机号码或姓名
定义搜索():
标志=假
数据=输入(请输入您的姓名或手机号码: )
w1,w2=openFile()
对于w1.rows:中的行
如果行[0]。值==数据:
标志=真
打印(第1行)。值)
如果排[2]。值不是None:
打印(第2行)。值)
elif行[1]。值==数据或行[2]。值==数据:
标志=真
打印(第[0]行)。值)
如果不是flag:
打印(通讯录里没有这个人和手机号!)
搜索()
# 排序
定义排序():
s=输入(请输入正序或逆序(正序输入f,逆序输入t):’)
如果s==F :
标志=假
elif s==T:
标志=真
数据=[]
w1,w2=openFile()
对于w1.rows:中的行
数据1=[]
对于行:中的单元格
data1.append(cell.value)
数据.追加(数据1)
data.sort(key=lambda x: x[0],reverse=flag)
w2。移除(w1)
w1=w2.create_sheet()
对于数据:中的我
w1。附加
w2。保存(fn)
# 循环函数
而True:
showMenu()
num=int(input(请输入操作序号:))
如果数量==1:
添加数据()
否则如果编号==2:
变更数据()
否则如果编号==3:
删除()
否则如果编号==4:
搜索()
否则如果编号==5:
排序()
否则如果编号==6:
打印(再见!)
破裂
else:
打印(输入的序号不在范围内!)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行信息技术软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。