日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python實現命令行通訊錄實例教程

系統 1759 0

1、實現目標

編寫一個命令行通訊錄程序,可以添加、查詢、刪除通訊錄好友及電話

2、實現方法

創建一個類來表示一個人的信息。使用字典存儲每個人的對象,名字作為鍵。
使用pickle模塊永久地把這些對象存儲下來。
使用字典內建的方法添加、刪除修改人員信息。

3、思維導圖

Python實現命令行通訊錄實例教程_第1張圖片

4、編寫偽代碼

            
# 1.創建字典用來存儲通訊錄信息
# 2.創建人員類,包含姓名、關系、電話三個屬性
# 3.創建操作類,包含增加、查詢、刪除人員,退出,保存并退出五個方法
# 4.程序運行
# 5.判斷通訊錄文件是否存在
# 6.如果存在,將文件讀取到personDictionary字典中
# 7.如果不存在,提示并創建
# 8.while循環等待讀取指令
  # 9.如果指令為addperson,添加通訊錄人員
  # 10.如果指令為delperson,刪除通訊錄人員
  # 11.如果指令為search,查找通訊錄人員
  # 12.如果指令為quit,不保存退出程序
  # 13.如果指令為sq,保存更改并退出程序
          

5、根據偽代碼編寫代碼

            
import pickle as p
import os

# 1.創建字典用來存儲通訊錄信息
personDictionary= {'name':{'relationship':'','tel':''}}
relationshipList=['家人','朋友','同事']

# 2.創建人員類,包含姓名、關系、電話三個屬性
class Person:
  def __init__(self,name,relationship= relationshipList[1],tel='None'):
    personDictionary[name]= {'relationship':relationship,'tel':tel}
# 3.創建操作類,包含增加、查詢、刪除人員,退出,保存并退出五個方法
class Operation:
  def Addperson():
    addname= input('請輸入姓名:')
    addrelationship= int(input('請選擇分組(0:家人,1:朋友,2:同事):'))
    addtel= input('請輸入電話:')
    Person(addname,relationshipList[addrelationship],addtel)
  def Delperson():
    name= input('請輸入要刪除的聯系人姓名:')
    del personDictionary[name]
  def Search():
    name= input('請輸入要查找的聯系人的姓名:')
    if name in personDictionary:
      print('姓名:%s,關系:%s,電話:%s' %(name,personDictionary[name]['relationship'],personDictionary[name]['tel']))
    else:
      print('聯系人不存在。')
  def Quit():
    running= False
  def SaveQuit():
    f= open(addressbookFile,'wb')
    p.dump(personDictionary,f)
    f.close()
    running= False
# 4.程序運行
running= True
# 5.判斷通訊錄文件是否存在
addressbookFile= 'addressbook.data'
# 6.如果存在,將文件讀取到personDictionary字典中
if os.path.exists(addressbookFile):
  f= open(addressbookFile,'rb')  
  personDictionary= p.load(f)
# 7.如果不存在,提示并創建
else:
  jCommand= input('未找到通訊錄文件,是否創建?yes/no ')
  if jCommand== 'yes':
    f= open(addressbookFile,'wb')
    p.dump(personDictionary,f)
    f.close()
  elif jCommand== 'no':
    running= False
# 8.while循環等待讀取指令
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
請輸入要查找的聯系人的姓名:zhangsan
聯系人不存在。
請輸入指令:addperson
請輸入姓名:zhangsan
請選擇分組(0:家人,1:朋友,2:同事):1
請輸入電話:1234567
請輸入指令:search
請輸入要查找的聯系人的姓名:zhangsan
姓名:zhangsan,關系:朋友,電話:1234567
請輸入指令:sq
$ Python3 addressbook.py 
請輸入指令:search
請輸入要查找的聯系人的姓名:zhangsan
姓名:zhangsan,關系:朋友,電話:1234567
請輸入指令:addperson
請輸入姓名:lisi
請選擇分組(0:家人,1:朋友,2:同事):1
請輸入電話:1234567
請輸入指令:q
未找到指令!
請輸入指令:quit
$ Python3 addressbook.py 
請輸入指令:search
請輸入要查找的聯系人的姓名:lisi
聯系人不存在。
請輸入指令:search
請輸入要查找的聯系人的姓名:zhangsan
姓名:zhangsan,關系:朋友,電話:1234567
請輸入指令:quit
          

總結

以上就是Python實現命令行通訊錄實例教程的全部內容,如果有疑問可以留言討論,希望本文的內容對大家學習使用python能有所幫助。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 咸丰县| 隆子县| 衡南县| 石泉县| 辉县市| 平山县| 青阳县| 大埔县| 曲松县| 贵州省| 都匀市| 沐川县| 桂林市| 德州市| 贵德县| 临澧县| 漳平市| 准格尔旗| 隆林| 榕江县| 竹北市| 南澳县| 泽库县| 土默特右旗| 安平县| 松潘县| 延吉市| 金堂县| 中阳县| 横峰县| 师宗县| 文昌市| 云南省| 枣阳市| 六盘水市| 秭归县| 屏山县| 松溪县| 滦平县| 三都| 阿勒泰市|