對(duì)Python系統(tǒng)程序廣泛應(yīng)用說(shuō)明
Python系統(tǒng)程序是一種簡(jiǎn)單易學(xué),功能強(qiáng)大的解釋型編程語(yǔ)言,它有簡(jiǎn)潔明了的語(yǔ)法,高效率的高層數(shù)據(jù)結(jié)構(gòu),同時(shí),他還想實(shí)現(xiàn)在 ABC 中閃現(xiàn)過(guò)但未曾實(shí)現(xiàn)的東西。
因?yàn)橐鲭娮雍D顯示方面的東西,在相關(guān)的論壇上面看到有些大牛說(shuō)GDAL和PIL結(jié)合可以比較方便的繪制矢量圖形。顧名思義,PIL(Python Imaging Library)是建立在Python的基礎(chǔ)上的,所以從前天開(kāi)始下載Python系統(tǒng)程序,看了Python簡(jiǎn)明手冊(cè)。
在這個(gè)手冊(cè)的***,作者建議初學(xué)者做這樣一個(gè)程序,即實(shí)現(xiàn):創(chuàng)建你自己的命令行 地址簿 程序。在這個(gè)程序中。你可以添加、修改、刪除和搜索你的聯(lián)系人(朋友、家人和同事等等)以及它們的信息(諸如電子郵件地址和/或電話號(hào)碼)。這些詳細(xì)信息應(yīng)該被保存下來(lái)以便以后提取。
經(jīng)過(guò)幾小時(shí)的折騰,程序代碼如下:(順便說(shuō)下,Python系統(tǒng)程序真的比較好上手,比起當(dāng)初學(xué)VC/MFC可是輕松多了,當(dāng)然也或許有部分原因是已經(jīng)經(jīng)歷過(guò)了c++)
- #MyFirstIntegratedPythonProgram
- import cPickle as P
- class notebook:
- dictnote={}
- def __init__(self):
- notebook.dictnote={'Randy':'12347865',
- 'Jackson':'67549087',
- 'Mary':'56432876'}
- f=file('storeFile.txt','a')
- P.dump(notebook.dictnote,f)
- f.close()
- def __del__(self):
- f=file('storeFile.txt','a')
- P.dump(notebook.dictnote,f)
- f.close()
- notebook.dictnote={}
- def delInfo(self,name):
- while notebook.dictnote.__contains__(name)==False:
- print "數(shù)據(jù)庫(kù)中沒(méi)有該聯(lián)系人的信息,請(qǐng)檢查輸入是否有誤!"
- break
- else:
- del notebook.dictnote[name]
- #dictnote.__delitem__(name)
- f=file('storeFile.txt','w')
- P.dump(notebook.dictnote,f)
- f.close()
- def addInfo(self,name,phone_number):
- while notebook.dictnote.__contains__(name)==True:
- print "數(shù)據(jù)庫(kù)中已經(jīng)有該聯(lián)系人的信息,請(qǐng)確認(rèn)輸入無(wú)誤!"
- break
- else:
- notebook.dictnote.__setitem__(name,phone_number)
- def inquiryInfo(self,name):
- while notebook.dictnote.__contains__(name)==False:
- print "數(shù)據(jù)庫(kù)中沒(méi)有該聯(lián)系人的信息,請(qǐng)檢查輸入是否有誤!"
- break
- else:
- print "你查詢(xún)的聯(lián)系人姓名是:'%s',電話號(hào)碼是:'%s'" %\
- (name,notebook.dictnote.__getitem__(name))
- def inquiryAll(self):
- print "所有聯(lián)系人的信息如下所示:\n%s"%notebook.dictnote
- def amendInfo(self,name):
- addr=raw_input("請(qǐng)確定修改后的地址是:")
- notebook.dictnote[name]=addr
- print "現(xiàn)在該聯(lián)系人的信息為:",name,notebook.dictnote[name]
- flag=True
- MyNoteBook=notebook()
- while flag==True:
- answer=raw_input('請(qǐng)確認(rèn)你想"瀏覽聯(lián)系人(L)"、"查詢(xún)聯(lián)系人(C)"、"添加聯(lián)系人(T)"、\
- "修改聯(lián)系人(X)"、"刪除聯(lián)系人(S)"、"退出本程序(E)"?')
- if answer=='C':
- key=raw_input('請(qǐng)輸入想查詢(xún)的聯(lián)系人姓名:')
- MyNoteBook.inquiryInfo(key)
- elif answer=='T':
- key_name=raw_input('請(qǐng)輸入想添加的聯(lián)系人姓名:')
- key_phone=raw_input('請(qǐng)輸入該聯(lián)系人的電話號(hào)碼:')
- MyNoteBook.addInfo(key_name,key_phone)
- elif answer=='S':
- key=raw_input('請(qǐng)輸入想刪除的聯(lián)系人姓名:')
- MyNoteBook.delInfo(key)
- elif answer=='X':
- key=raw_input('請(qǐng)輸入想修改的聯(lián)系人姓名:')
- MyNoteBook.amendInfo(key)
- elif answer=='L':
- MyNoteBook.inquiryAll()
- elif answer=='E':
- flag=False
- else:
- print "請(qǐng)確認(rèn)你輸入的是字母'C','T','S','E',即希望進(jìn)行操作:查詢(xún)、添加、刪除\
- 以及退出!"
【編輯推薦】