Python實(shí)現(xiàn)命令行通訊錄實(shí)例教程
1、實(shí)現(xiàn)目標(biāo)
編寫一個命令行通訊錄程序,可以添加、查詢、刪除通訊錄好友及電話
2、實(shí)現(xiàn)方法
創(chuàng)建一個類來表示一個人的信息。使用字典存儲每個人的對象,名字作為鍵。
使用pickle模塊永久地把這些對象存儲下來。
使用字典內(nèi)建的方法添加、刪除修改人員信息。
3、思維導(dǎo)圖

4、編寫偽代碼
# 1.創(chuàng)建字典用來存儲通訊錄信息 # 2.創(chuàng)建人員類,包含姓名、關(guān)系、電話三個屬性 # 3.創(chuàng)建操作類,包含增加、查詢、刪除人員,退出,保存并退出五個方法 # 4.程序運(yùn)行 # 5.判斷通訊錄文件是否存在 # 6.如果存在,將文件讀取到personDictionary字典中 # 7.如果不存在,提示并創(chuàng)建 # 8.while循環(huán)等待讀取指令 # 9.如果指令為addperson,添加通訊錄人員 # 10.如果指令為delperson,刪除通訊錄人員 # 11.如果指令為search,查找通訊錄人員 # 12.如果指令為quit,不保存退出程序 # 13.如果指令為sq,保存更改并退出程序
5、根據(jù)偽代碼編寫代碼
import pickle as p
import os
# 1.創(chuàng)建字典用來存儲通訊錄信息
personDictionary= {'name':{'relationship':'','tel':''}}
relationshipList=['家人','朋友','同事']
# 2.創(chuàng)建人員類,包含姓名、關(guān)系、電話三個屬性
class Person:
def __init__(self,name,relationship= relationshipList[1],tel='None'):
personDictionary[name]= {'relationship':relationship,'tel':tel}
# 3.創(chuàng)建操作類,包含增加、查詢、刪除人員,退出,保存并退出五個方法
class Operation:
def Addperson():
addname= input('請輸入姓名:')
addrelationship= int(input('請選擇分組(0:家人,1:朋友,2:同事):'))
addtel= input('請輸入電話:')
Person(addname,relationshipList[addrelationship],addtel)
def Delperson():
name= input('請輸入要刪除的聯(lián)系人姓名:')
del personDictionary[name]
def Search():
name= input('請輸入要查找的聯(lián)系人的姓名:')
if name in personDictionary:
print('姓名:%s,關(guān)系:%s,電話:%s' %(name,personDictionary[name]['relationship'],personDictionary[name]['tel']))
else:
print('聯(lián)系人不存在。')
def Quit():
running= False
def SaveQuit():
f= open(addressbookFile,'wb')
p.dump(personDictionary,f)
f.close()
running= False
# 4.程序運(yùn)行
running= True
# 5.判斷通訊錄文件是否存在
addressbookFile= 'addressbook.data'
# 6.如果存在,將文件讀取到personDictionary字典中
if os.path.exists(addressbookFile):
f= open(addressbookFile,'rb')
personDictionary= p.load(f)
# 7.如果不存在,提示并創(chuàng)建
else:
jCommand= input('未找到通訊錄文件,是否創(chuàng)建?yes/no ')
if jCommand== 'yes':
f= open(addressbookFile,'wb')
p.dump(personDictionary,f)
f.close()
elif jCommand== 'no':
running= False
# 8.while循環(huán)等待讀取指令
while running:
command= input('請輸入指令:')
# 9.如果指令為addperson,添加通訊錄人員
if command== 'addperson':
Operation.Addperson()
continue
# 10.如果指令為delperson,刪除通訊錄人員
elif command== 'delperson':
Operation.Delperson()
continue
# 11.如果指令為search,查找通訊錄人員
elif command== 'search':
Operation.Search()
continue
# 12.如果指令為quit,不保存退出程序
elif command== 'quit':
Operation.Quit()
break
# 13.如果指令為sq,保存更改并退出程序
elif command== 'sq':
Operation.SaveQuit()
break
else:
print('未找到指令!')
continue
6、演示
Python3 addressbook.py 請輸入指令:search 請輸入要查找的聯(lián)系人的姓名:zhangsan 聯(lián)系人不存在。 請輸入指令:addperson 請輸入姓名:zhangsan 請選擇分組(0:家人,1:朋友,2:同事):1 請輸入電話:1234567 請輸入指令:search 請輸入要查找的聯(lián)系人的姓名:zhangsan 姓名:zhangsan,關(guān)系:朋友,電話:1234567 請輸入指令:sq $ Python3 addressbook.py 請輸入指令:search 請輸入要查找的聯(lián)系人的姓名:zhangsan 姓名:zhangsan,關(guān)系:朋友,電話:1234567 請輸入指令:addperson 請輸入姓名:lisi 請選擇分組(0:家人,1:朋友,2:同事):1 請輸入電話:1234567 請輸入指令:q 未找到指令! 請輸入指令:quit $ Python3 addressbook.py 請輸入指令:search 請輸入要查找的聯(lián)系人的姓名:lisi 聯(lián)系人不存在。 請輸入指令:search 請輸入要查找的聯(lián)系人的姓名:zhangsan 姓名:zhangsan,關(guān)系:朋友,電話:1234567 請輸入指令:quit
總結(jié)
以上就是Python實(shí)現(xiàn)命令行通訊錄實(shí)例教程的全部內(nèi)容,如果有疑問可以留言討論,希望本文的內(nèi)容對大家學(xué)習(xí)使用python能有所幫助。
- python實(shí)現(xiàn)通訊錄管理系統(tǒng)
- python實(shí)現(xiàn)通訊錄系統(tǒng)
- 如何用Python寫一個簡單的通訊錄
- python實(shí)現(xiàn)學(xué)生通訊錄管理系統(tǒng)
- python數(shù)據(jù)庫編程 Mysql實(shí)現(xiàn)通訊錄
- python數(shù)據(jù)庫編程 ODBC方式實(shí)現(xiàn)通訊錄
- python實(shí)現(xiàn)手機(jī)通訊錄搜索功能
- Python實(shí)現(xiàn)通訊錄功能
- 一個簡單的python程序?qū)嵗?通訊錄)
- python實(shí)現(xiàn)簡單通訊錄管理系統(tǒng)
相關(guān)文章
Python 在區(qū)塊鏈智能合約開發(fā)中的應(yīng)用與實(shí)踐小結(jié)
Python作為一種廣泛應(yīng)用的編程語言,在區(qū)塊鏈智能合約開發(fā)中扮演著重要角色,通過使用Python框架如Brownie和Web3.py,開發(fā)者可以輕松編寫和部署智能合約,感興趣的朋友一起看看吧2024-09-09
Python drop方法刪除列之inplace參數(shù)實(shí)例
這篇文章主要介紹了Python drop方法刪除列之inplace參數(shù)實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python OpenCV實(shí)現(xiàn)邊緣檢測
這篇文章主要為大家詳細(xì)介紹了Python OpenCV實(shí)現(xiàn)邊緣檢測,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08
基于Python實(shí)現(xiàn)溫度轉(zhuǎn)換程序
這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)簡單的溫度轉(zhuǎn)換程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10
教你用python編寫腳本實(shí)現(xiàn)自動簽到
這篇文章主要介紹了教你怎樣用python編寫腳本實(shí)現(xiàn)自動簽到,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08
Python操作Access數(shù)據(jù)庫基本步驟分析
這篇文章主要介紹了Python操作Access數(shù)據(jù)庫基本步驟,結(jié)合實(shí)例形式詳細(xì)分析了Python針對access操作的具體步驟與相關(guān)注意事項,需要的朋友可以參考下2016-09-09

