Python下的通讯录资料_第1页
Python下的通讯录资料_第2页
Python下的通讯录资料_第3页
Python下的通讯录资料_第4页
Python下的通讯录资料_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论