版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年信息安全意識(shí)培訓(xùn)與宣傳手冊(cè)
- 財(cái)務(wù)報(bào)銷(xiāo)及審核制度
- 辦公室員工培訓(xùn)記錄與檔案制度
- 辦公室保密文件查閱與審批制度
- 2026年燈湖第三小學(xué)面向社會(huì)招聘語(yǔ)文、數(shù)學(xué)臨聘教師備考題庫(kù)及1套參考答案詳解
- 2026年西安交通大學(xué)電信學(xué)部管理輔助人員招聘?jìng)淇碱}庫(kù)及1套參考答案詳解
- 2026年湖南蓉園集團(tuán)有限公司公開(kāi)招聘?jìng)淇碱}庫(kù)含答案詳解
- 2026年江西興宜全過(guò)程項(xiàng)目咨詢有限公司招聘造價(jià)工程師備考題庫(kù)完整參考答案詳解
- 中國(guó)東方航空技術(shù)有限公司2026招聘?jìng)淇碱}庫(kù)帶答案詳解
- 2026年鎮(zhèn)康縣騰勢(shì)口岸經(jīng)營(yíng)管理有限公司行政管理崗招聘?jìng)淇碱}庫(kù)及參考答案詳解
- 2025四川成都益民集團(tuán)所屬企業(yè)招聘財(cái)務(wù)綜合崗等崗位備考題庫(kù)及答案1套
- 國(guó)資與私有企業(yè)合作運(yùn)營(yíng)案例分享
- 個(gè)人船只轉(zhuǎn)讓協(xié)議書(shū)
- 2025微博x益普索手機(jī)行業(yè)社交生態(tài)解析及熱點(diǎn)價(jià)值洞察白皮書(shū)
- 拼接屏系統(tǒng)維護(hù)施工方案
- 甲狀腺腫瘤的課件
- 新型鋁合金雨棚施工方案
- 武警中隊(duì)營(yíng)房及附屬工程項(xiàng)目可行性研究報(bào)告
- 2025年國(guó)家開(kāi)放大學(xué)《社會(huì)調(diào)查研究方法》期末考試復(fù)習(xí)試題及答案解析
- 《數(shù)字經(jīng)濟(jì)概論》全套教學(xué)課件
- 2025年莆田市工業(yè)“十五五”發(fā)展規(guī)劃
評(píng)論
0/150
提交評(píng)論