Python下的通訊錄資料_第1頁(yè)
Python下的通訊錄資料_第2頁(yè)
Python下的通訊錄資料_第3頁(yè)
Python下的通訊錄資料_第4頁(yè)
Python下的通訊錄資料_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Python下的通訊錄

1、課題需求

1.1系統(tǒng)開(kāi)發(fā)的目標(biāo)和思想

隨著社會(huì)的發(fā)展,人際關(guān)系變得越來(lái)越重要,為了保持良好的人際關(guān)系,必須經(jīng)常與親

戚、朋友、同學(xué)、同事保持聯(lián)系,但是有時(shí)候存在著許多的限制條件,比如怎樣找到交流時(shí)

象的各種信息?可能你會(huì)想到現(xiàn)實(shí)生活中的手機(jī)等通訊工具,由于這些工具的單一性,不可

能在第一時(shí)間找到自己想要的信息資料,因此,為了能夠快速查找到聯(lián)系人的信息,節(jié)省查

找時(shí)間,開(kāi)發(fā)通訊錄管理系統(tǒng).

1.2系統(tǒng)的可行性分析

本系統(tǒng)的設(shè)計(jì)是在windows10中文版環(huán)境下,使用pythcn3.7開(kāi)發(fā)的。用戶可以快速的

實(shí)現(xiàn)對(duì)通訊錄的增刪查改等功能

1.3系統(tǒng)功能及性能分析

設(shè)計(jì)一個(gè)實(shí)用的小型通訊錄程序,具有添加、修改、瀏覽、查詢和刪除功能。由姓名,

籍貫,電話號(hào)碼1,電話號(hào)碼2,電子郵箱組成,姓名可以由字符和數(shù)字混合編碼。電話號(hào)碼

可由字符和數(shù)字組成。使用該程序可以達(dá)到能夠快速杳找到聯(lián)系人的信息,節(jié)省杳找時(shí)間

2、課題的設(shè)計(jì)

2.1系統(tǒng)的功能設(shè)計(jì)

(1)系統(tǒng)以菜單方式工作

(2)信息錄入功能

(3)信息瀏覽功能

(4)信息查詢功能

(5)信息修改功能

(6)系統(tǒng)退出功能

2.2數(shù)據(jù)庫(kù)設(shè)計(jì)

電腦磁盤(pán)文件保存模擬數(shù)據(jù)庫(kù)。

?Address.py2018/11/298:36PythonFile6KB

Htemp.txt2018/11/298:38文本-1KB

Htongxunlu.txt2018/11/2910:16文本文檔1KB

2.3詳細(xì)設(shè)計(jì)

3、運(yùn)行實(shí)例及結(jié)果分析

3.1部分源程序

菜單:

defmnnu():

print('************************')

print(**請(qǐng)輸入您需要選擇的功能:*')

print('*1、信息錄入*')

print('*2、信息瀏覽*')

print('*3、信息查詢*')

print('*4、信息修改*')

print('*5、退出系統(tǒng)*')

print(,***')

x二input('請(qǐng)輸入:')

ifx='5':

print('感謝你的使用,再見(jiàn)!’)

print('***********?****\n')

1oginO

elifx==V:

print('歡迎錄入信息')

luruinfoO

elifx=='2':

printC歡迎瀏覽信息')

liulaninfoO

elifx='3':

print(,歡迎查詢信息')

exploreinfo()

elifx='4’:

print('歡迎修改信息')

x=input('請(qǐng)輸入你要修改的編號(hào):')

xiugaiinfo(x)

else:

print('輸入有誤!請(qǐng)重新輸入....’)

menu()

錄入信息:

defluruinfoO:

fl=open(,D:/test/tongxunlu.txt','a')

110二511'(1叫111('請(qǐng)輸入編號(hào):'))

name二str(input('請(qǐng)輸入姓名:'))

address=str(input('請(qǐng)輸入籍貫:’))

celll=str(input('請(qǐng)輸入號(hào)碼1:'))

。2112=$*0叩成('請(qǐng)輸入號(hào)碼2:'))

email=str(input('請(qǐng)輸入您的電子郵箱:'))

remarks=str(input('請(qǐng)輸入備注:'))

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('聯(lián)系人不存在!’)

k二input('是否添加該聯(lián)系人?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('請(qǐng)輸入姓名:')

t[2]=input('請(qǐng)輸入籍貫:')

t[3]=input('請(qǐng)輸入號(hào)碼1:')

t[4]=input('請(qǐng)輸入號(hào)碼2:')

t[5]=input('請(qǐng)輸入您的電子郵箱:’)

t[6]=input('請(qǐng)輸入備注:’)

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結(jié)果分析

部分運(yùn)行結(jié)果如圖:

------------------------------------------------------------------------IXEOXAAl.V,\LDALyy

清輸入用戶名和密碼

Username:Isr

Password:123456

登錄成功!

***歡迎使用***

*********************???

*請(qǐng)輸入您需要選擇的功能:?

?1、信息錄入?

*2、信息瀏覽?

?3、信息查詢*

?4、信息修改?

5、退出系統(tǒng)?

************************

清輸入:1

次通湎賢信息

01李恒河南1593866765915083195864914108645(Sqq.co

m

02王五湖南158649584291568942856178952463163.com

社會(huì)偶遇

03璇錢(qián)北京1584896458915889758645789456@gnail.co

m富豪

04李佳上海16868686868186868686866868668@gm

ail.com

***?**??????******

請(qǐng)輸3

?

歡迎

請(qǐng)輸

搜?

聯(lián)系

!

是否

聯(lián)n

清輸

號(hào)

”—y/

請(qǐng)輸入:1

05

請(qǐng)輸入姓名:蘇哲

請(qǐng)輸入籍貫:江左

請(qǐng)輸入號(hào)碼1/p>

請(qǐng)輸入號(hào)碼2/p>

請(qǐng)輸入您的電子郵箱:Jingzuomeng@qq.com

請(qǐng)輸入備注:膜麟才子

添加成功,繼續(xù)添加清輸入1,結(jié)束添加請(qǐng)輸入0:

5、總結(jié)

設(shè)計(jì)我選擇的題目是通訊錄管理系統(tǒng)的程序設(shè)計(jì)。通訊錄系統(tǒng)是我們很常用一個(gè)小系統(tǒng),

開(kāi)妗選擇題目是感覺(jué)這個(gè)應(yīng)該簡(jiǎn)單點(diǎn),我自知python語(yǔ)言學(xué)的都不夠好,但做了之后才知道

并不簡(jiǎn)單。不過(guò)通過(guò)設(shè)計(jì)這個(gè)程序,我從中學(xué)到了很多。這個(gè)系統(tǒng)中每個(gè)人員的信息都要求

包括姓名、籍貫、電話號(hào)碼、電子郵箱。程序具有數(shù)據(jù)錄入、查詢、刪除、修改等功能。

剛開(kāi)始的時(shí)候毫無(wú)邏輯性,導(dǎo)致有的錯(cuò)誤看不出來(lái),遇到了不少麻煩,甚至改了好多次都沒(méi)

有成功,不過(guò)在老師和同學(xué)的幫助下,最終的程序基本實(shí)現(xiàn)了所要求的功能,但在一些方面

還不夠完善。通過(guò)這個(gè)小系統(tǒng)的設(shè)計(jì)我深深的體會(huì)到我學(xué)習(xí)的這些知識(shí)還遠(yuǎn)遠(yuǎn)不夠,為了能

做出更好的程序我們必須積累知識(shí),打開(kāi)思路,因?yàn)橹挥卸喽嗑毩?xí)才能寫(xiě)出較好的程序。

總之,這次的課程設(shè)計(jì)使我體會(huì)較大的是應(yīng)用比理論學(xué)習(xí)難得多,它涉及到各種實(shí)際問(wèn)

題。但實(shí)習(xí)時(shí)所用到的這些知識(shí)會(huì)有更深的記憶,理解也更加透徹。

附代碼:

importre

deflogin():

print('請(qǐng)輸入用戶名和密碼')

username=input('Username:1)

password=input('Password:*)

ifusername",Isr'andpassword二二'123456':

print(J登錄成功!\n')

printC***歡迎使用***\n)

menu()

else:

print('登錄失敗,請(qǐng)重新登錄!’)

1ogin()

defmenu():

print('******')

print(**請(qǐng)輸入您需要選擇的功能:*')

print('*1、信息錄入*')

printC*2、信息瀏覽*')

print('*3、信息查詢*')

print('*4、信息修改*')

print('*5、退出系統(tǒng)*')

print(*******')

x二input('請(qǐng)輸入:')

ifx='5’:

print('感謝你的使用,再見(jiàn)!')

print('***********雜***木\[1')

loginO

elifx==,T:

print('歡迎錄入信息')

luruinfoO

elifx=='2':

printC歡迎瀏覽信息')

liulaninfoO

elifx='3':

print(,歡迎查詢信息')

exploreinfo()

elifx=='4':

print('歡迎修改信息')

x=input('請(qǐng)輸入你要修改的編號(hào):')

xiugaiinfo(x)

else:

print('輸入有誤!請(qǐng)重新輸入....’)

menu()

defluruinfoO:

fl=open(>D:/test/tongxunlu.txt','a')

no=slr(inpul('請(qǐng)輸入編號(hào):’))

name=str(input('請(qǐng)輸入姓名:'))

address=str(input('請(qǐng)輸入籍貫:’))

celll=str(input('請(qǐng)輸入號(hào)碼1:'))

cell2=str(input('請(qǐng)輸入號(hào)碼2:'))

email=str(input('請(qǐng)輸入您的電子郵箱:’))

remarks=str(input('請(qǐng)輸入備注:'))

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('添加成功,繼續(xù)添加請(qǐng)輸入1,結(jié)束添加請(qǐng)輸入0:添

ifp='1':

luruinfoO

elifp=二'O':

mcnu()

else:

print('輸入格式有誤,請(qǐng)重新輸入!')

luruinfoO

defliulaninfoO:

f3=open(,D:/test/tongxunlu.txt*,'r')

whileTrue:

1ine=f3.readlineO

ifline*':

break

print(line,end='')

f3.closeO

menu()

defexploreinfo():

x=input('請(qǐng)輸入您要搜索的名字:')

f4=open(,D:/test/tongxunlu.txt','r')

li=f4.readlinesO

forlineinli:

t=line.split()

ift[l]==x:

print(t)

m=input('是否進(jìn)行對(duì)其操作?"n:')

ify:

"input('修改請(qǐng)輸入L刪除請(qǐng)輸入0:')

ifn=-1>:

xiugaiinfo(t[OJ)

ifn=='0':

deleteinfo(t[0])

elifm=二'n':

menu()

else:

print('聯(lián)系人不存在!’)

k=input('是否添加該聯(lián)系人?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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論