版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python下的通讯录
1、课题需求
1.1系统开发的目标和思想
随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须经常与亲
戚、朋友、同学、同事保持联系,但是有时候存在着许多的限制条件,比如怎样找到交流时
象的各种信息?可能你会想到现实生活中的手机等通讯工具,由于这些工具的单一性,不可
能在第一时间找到自己想要的信息资料,因此,为了能够快速查找到联系人的信息,节省查
找时间,开发通讯录管理系统.
1.2系统的可行性分析
本系统的设计是在windows10中文版环境下,使用pythcn3.7开发的。用户可以快速的
实现对通讯录的增删查改等功能
1.3系统功能及性能分析
设计一个实用的小型通讯录程序,具有添加、修改、浏览、查询和删除功能。由姓名,
籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码
可由字符和数字组成。使用该程序可以达到能够快速杳找到联系人的信息,节省杳找时间
2、课题的设计
2.1系统的功能设计
(1)系统以菜单方式工作
(2)信息录入功能
(3)信息浏览功能
(4)信息查询功能
(5)信息修改功能
(6)系统退出功能
2.2数据库设计
电脑磁盘文件保存模拟数据库。
?Address.py2018/11/298:36PythonFile6KB
Htemp.txt2018/11/298:38文本-1KB
Htongxunlu.txt2018/11/2910:16文本文档1KB
2.3详细设计
3、运行实例及结果分析
3.1部分源程序
菜单:
defmnnu():
print('************************')
print(**请输入您需要选择的功能:*')
print('*1、信息录入*')
print('*2、信息浏览*')
print('*3、信息查询*')
print('*4、信息修改*')
print('*5、退出系统*')
print(,***')
x二input('请输入:')
ifx='5':
print('感谢你的使用,再见!’)
print('***********«****\n')
1oginO
elifx==V:
print('欢迎录入信息')
luruinfoO
elifx=='2':
printC欢迎浏览信息')
liulaninfoO
elifx='3':
print(,欢迎查询信息')
exploreinfo()
elifx='4’:
print('欢迎修改信息')
x=input('请输入你要修改的编号:')
xiugaiinfo(x)
else:
print('输入有误!请重新输入....’)
menu()
录入信息:
defluruinfoO:
fl=open(,D:/test/tongxunlu.txt','a')
110二511'(1叫111('请输入编号:'))
name二str(input('请输入姓名:'))
address=str(input('请输入籍贯:’))
celll=str(input('请输入号码1:'))
。2112=$*0叩成('请输入号码2:'))
email=str(input('请输入您的电子邮箱:'))
remarks=str(input('请输入备注:'))
novalue=re.compile(,\d+')
resultno=novaluc.match(no)
namevalue=re.compile(*.+')
resultname=namevalue.match(name)
addressvalue=pileC.+')
resultaddress=addressvalue.match(ciddress)
cellIvalue=re.compile('[1]{1}([0-9]){10}')
resultcel1l=ccl1lvalue,match(cel11)
cell2value=re.compileC[1]{1}([0-9]){10}J)
resultcell2=celllvalue.match(cell2)
emailvalue=re.compile。"\w+@(\w+\.)+\w+$')
xiugaiinfo(t[0])
ifn='0':
deleteinfo(t[0])
elifm==,n':
menu()
else:
print('联系人不存在!’)
k二input('是否添加该联系人?y/n:')
ifk==*y':
luruinfoO
elifk=='n':
menuO
f4.closeO
修改信息:
defxiugaiinfo(x):
f5=opcnC,D:/test/tongxunlu.txt,,'r+')
f6=open('D:/test/temp,txt',,w+')
li=f5.readlinesO
forlineinli:
print(line)
t=line,split()
ift[0]==x:
t[1]=input('请输入姓名:')
t[2]=input('请输入籍贯:')
t[3]=input('请输入号码1:')
t[4]=input('请输入号码2:')
t[5]=input('请输入您的电子邮箱:’)
t[6]=input('请输入备注:’)
f6.write(x+'+t[l]++t[2]+''+t[3]
+''+t[4]+''+t[5]+''+t[6]+,\n)
else:
f6.write(line)
f6.close()
f5.closeO
chuandi()
print('修改成功!’)
menu0
删除信息:
defdeleteinfo(x):
f9=open(,D:/test/tongxunlu.txt1,'r+')
f10=open('D:/test/temp.txt','w+')
1i=f9.rcadlines()
forlineinli:
t=line.split0
ift[0]==x:
f10.write(**)
else:
f10.write(1inc)
f9.close0
f10.closeO
chuandi()
print('删除成功!’)
menu()
3.2结果分析
部分运行结果如图:
------------------------------------------------------------------------IXEOXAAl.V,\LDALyy
清输入用户名和密码
Username:Isr
Password:123456
登录成功!
***欢迎使用***
*********************♦♦♦
*请输入您需要选择的功能:♦
♦1、信息录入♦
*2、信息浏览♦
«3、信息查询*
♦4、信息修改♦
5、退出系统♦
************************
清输入:1
次通湎贤信息
01李恒河南1593866765915083195864914108645(Sqq.co
m
02王五湖南158649584291568942856178952463163.com
社会偶遇
03璇钱北京1584896458915889758645789456@gnail.co
m富豪
04李佳上海16868686868186868686866868668@gm
ail.com
***♦**♦♦♦♦♦♦******
入
请输3
•
查
欢迎
询
信
息
人
的
请输
索
名
字
您
要
搜•
人
联系
不
存
在
!
人
添
是否
加
该
系
?
联n
入
清输
编
号
”—y/
请输入:1
05
请输入姓名:苏哲
请输入籍贯:江左
请输入号码1/p>
请输入号码2/p>
请输入您的电子邮箱:Jingzuomeng@qq.com
请输入备注:膜麟才子
添加成功,继续添加清输入1,结束添加请输入0:
5、总结
设计我选择的题目是通讯录管理系统的程序设计。通讯录系统是我们很常用一个小系统,
开妗选择题目是感觉这个应该简单点,我自知python语言学的都不够好,但做了之后才知道
并不简单。不过通过设计这个程序,我从中学到了很多。这个系统中每个人员的信息都要求
包括姓名、籍贯、电话号码、电子邮箱。程序具有数据录入、查询、删除、修改等功能。
刚开始的时候毫无逻辑性,导致有的错误看不出来,遇到了不少麻烦,甚至改了好多次都没
有成功,不过在老师和同学的帮助下,最终的程序基本实现了所要求的功能,但在一些方面
还不够完善。通过这个小系统的设计我深深的体会到我学习的这些知识还远远不够,为了能
做出更好的程序我们必须积累知识,打开思路,因为只有多多练习才能写出较好的程序。
总之,这次的课程设计使我体会较大的是应用比理论学习难得多,它涉及到各种实际问
题。但实习时所用到的这些知识会有更深的记忆,理解也更加透彻。
附代码:
importre
deflogin():
print('请输入用户名和密码')
username=input('Username:1)
password=input('Password:*)
ifusername",Isr'andpassword二二'123456':
print(J登录成功!\n')
printC***欢迎使用***\n)
menu()
else:
print('登录失败,请重新登录!’)
1ogin()
defmenu():
print('******')
print(**请输入您需要选择的功能:*')
print('*1、信息录入*')
printC*2、信息浏览*')
print('*3、信息查询*')
print('*4、信息修改*')
print('*5、退出系统*')
print(*******')
x二input('请输入:')
ifx='5’:
print('感谢你的使用,再见!')
print('***********杂***木\[1')
loginO
elifx==,T:
print('欢迎录入信息')
luruinfoO
elifx=='2':
printC欢迎浏览信息')
liulaninfoO
elifx='3':
print(,欢迎查询信息')
exploreinfo()
elifx=='4':
print('欢迎修改信息')
x=input('请输入你要修改的编号:')
xiugaiinfo(x)
else:
print('输入有误!请重新输入....’)
menu()
defluruinfoO:
fl=open(>D:/test/tongxunlu.txt','a')
no=slr(inpul('请输入编号:’))
name=str(input('请输入姓名:'))
address=str(input('请输入籍贯:’))
celll=str(input('请输入号码1:'))
cell2=str(input('请输入号码2:'))
email=str(input('请输入您的电子邮箱:’))
remarks=str(input('请输入备注:'))
novalue=re.compile(,\d+')
resultno=novalue.match(HD)
namevalue=re.compile,.+')
resultname=namevalue.match(name)
addressvalue=re.compi1e('.+')
resultaddress:addressvalue,match(address)
celllvalue=re.compile(>[1]{1}([0-9]){10}*)
resultcelll=cel11value,match(celll)
cell2value=re.compileC[1]{1}([0-9]){10}*)
resultcell2=celllvalue,match(cel12)
emailvalue=re.compile(*~\w+@(\w+\.)+\w+$,)
reslutemail=emailvalue,match(emai1)
ifreslutemailandresultaddressandresultcelllandresultcell2andresultcell2
cindresultnameandresultno:
fl.write(no+*'+name+'*+address+,'+celll+'
'+cell2+''+email+'*+remarks+,\n5)
fl.closeO
p二input('添加成功,继续添加请输入1,结束添加请输入0:添
ifp='1':
luruinfoO
elifp=二'O':
mcnu()
else:
print('输入格式有误,请重新输入!')
luruinfoO
defliulaninfoO:
f3=open(,D:/test/tongxunlu.txt*,'r')
whileTrue:
1ine=f3.readlineO
ifline*':
break
print(line,end='')
f3.closeO
menu()
defexploreinfo():
x=input('请输入您要搜索的名字:')
f4=open(,D:/test/tongxunlu.txt','r')
li=f4.readlinesO
forlineinli:
t=line.split()
ift[l]==x:
print(t)
m=input('是否进行对其操作?"n:')
ify:
"input('修改请输入L删除请输入0:')
ifn=-1>:
xiugaiinfo(t[OJ)
ifn=='0':
deleteinfo(t[0])
elifm=二'n':
menu()
else:
print('联系人不存在!’)
k=input('是否添加该联系人?y/n:')
ifk==,y,:
luruinfoO
elifk='n':
menu()
f4.closcO
defxiugaiinfo(x):
f5=open(*D:/test/tongxunlu.txt),'r+')
f6=openC,D:/test/temp,txt),'w+')
li=f5.readlines()
forlineinli:
print(1inc)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年信息安全意识培训与宣传手册
- 财务报销及审核制度
- 办公室员工培训记录与档案制度
- 办公室保密文件查阅与审批制度
- 2026年灯湖第三小学面向社会招聘语文、数学临聘教师备考题库及1套参考答案详解
- 2026年西安交通大学电信学部管理辅助人员招聘备考题库及1套参考答案详解
- 2026年湖南蓉园集团有限公司公开招聘备考题库含答案详解
- 2026年江西兴宜全过程项目咨询有限公司招聘造价工程师备考题库完整参考答案详解
- 中国东方航空技术有限公司2026招聘备考题库带答案详解
- 2026年镇康县腾势口岸经营管理有限公司行政管理岗招聘备考题库及参考答案详解
- GB/T 46758-2025纸浆硫酸盐法蒸煮液总碱、活性碱和有效碱的测定(电位滴定法)
- 2026届福建省龙岩市龙岩一中生物高一第一学期期末综合测试试题含解析
- 二元思辨:向外探索(外)与向内审视(内)-2026年高考语文二元思辨作文写作全面指导
- 智能清扫机器人设计与研发方案
- 《中华人民共和国危险化学品安全法》全套解读
- 糖尿病足护理指导
- 甲状腺肿瘤的课件
- 新型铝合金雨棚施工方案
- 2025年国家开放大学《社会调查研究方法》期末考试复习试题及答案解析
- 《数字经济概论》全套教学课件
- 风险管理与内部控制-全套课件
评论
0/150
提交评论