生活随笔
收集整理的這篇文章主要介紹了
【转】我的第一个Python小程序
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
原文網(wǎng)址:http://blog.csdn.net/randyqiu/article/details/4484089
人的每個第一次都有點特別的意義,所以下面這個小程序我把他記錄下來做個紀(jì)念。
因為要做電子海圖顯示方面的東西,在相關(guān)的論壇上面看到有些大牛說GDAL和PIL結(jié)合可以比較方便的繪制矢量圖形。顧名思義,PIL(Python Imaging Library)是建立在Python的基礎(chǔ)上的,所以從前天開始下載了Python2.6,看了Python簡明手冊,在這個手冊的最后,作者建議初學(xué)者做這樣一個程序,即實現(xiàn):創(chuàng)建你自己的命令行?地址簿程序。在這個程序中,你可以添加、修改、刪除和搜索你的聯(lián)系人(朋友、家人和同事等等)以及它們的信息(諸如電子郵件地址和/或電話號碼)。這些詳細(xì)信息應(yīng)該被保存下來以便以后提取。
?
經(jīng)過幾小時的折騰,程序代碼如下:(順便說下,Python真的比較好上手,比起當(dāng)初學(xué)VC/MFC可是輕松多了,當(dāng)然也或許有部分原因是已經(jīng)經(jīng)歷過了c++)
?
[python]?view plaincopy
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ù)庫中沒有該聯(lián)系人的信息,請檢查輸入是否有誤!"??????????????break??????????else:??????????????del?notebook.dictnote[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ù)庫中已經(jīng)有該聯(lián)系人的信息,請確認(rèn)輸入無誤!"??????????????break??????????else:??????????????notebook.dictnote.__setitem__(name,phone_number)??????def?inquiryInfo(self,name):??????????while?notebook.dictnote.__contains__(name)==False:??????????????print?"數(shù)據(jù)庫中沒有該聯(lián)系人的信息,請檢查輸入是否有誤!"??????????????break??????????else:??????????????print?"你查詢的聯(lián)系人姓名是:'%s',電話號碼是:'%s'"?%/????????????????(name,notebook.dictnote.__getitem__(name))??????def?inquiryAll(self):??????????print?"所有聯(lián)系人的信息如下所示:/n%s"%notebook.dictnote??????def?amendInfo(self,name):??????????addr=raw_input("請確定修改后的地址是:")??????????notebook.dictnote[name]=addr??????????????print?"現(xiàn)在該聯(lián)系人的信息為:",name,notebook.dictnote[name]????????????????????flag=True??MyNoteBook=notebook()??while?flag==True:??????????answer=raw_input('請確認(rèn)你想"瀏覽聯(lián)系人(L)"、"查詢聯(lián)系人(C)"、"添加聯(lián)系人(T)"、/??"修改聯(lián)系人(X)"、"刪除聯(lián)系人(S)"、"退出本程序(E)"?')????????????if?answer=='C':??????????key=raw_input('請輸入想查詢的聯(lián)系人姓名:')??????????MyNoteBook.inquiryInfo(key)????????????????elif?answer=='T':??????????key_name=raw_input('請輸入想添加的聯(lián)系人姓名:')??????????key_phone=raw_input('請輸入該聯(lián)系人的電話號碼:')??????????MyNoteBook.addInfo(key_name,key_phone)????????????????elif?answer=='S':??????????key=raw_input('請輸入想刪除的聯(lián)系人姓名:')??????????MyNoteBook.delInfo(key)????????????????elif?answer=='X':??????????key=raw_input('請輸入想修改的聯(lián)系人姓名:')??????????MyNoteBook.amendInfo(key)????????elif?answer=='L':??????????MyNoteBook.inquiryAll()????????????????elif?answer=='E':??????????flag=False??????else:??????????print?"請確認(rèn)你輸入的是字母'C','T','S','E',即希望進(jìn)行操作:查詢、添加、刪除/??????????????????以及退出!" ? ?
轉(zhuǎn)載于:https://www.cnblogs.com/wi100sh/p/4238199.html
總結(jié)
以上是生活随笔為你收集整理的【转】我的第一个Python小程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。