最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)命令行通訊錄實(shí)例教程

 更新時(shí)間:2016年08月18日 10:16:27   投稿:daisy  
這篇文章主要介紹怎樣編寫了一段命令行通訊錄的小程序。下面是編寫的思路以及代碼,歡迎感興趣的同學(xué)交流探討。

1、實(shí)現(xiàn)目標(biāo)

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

2、實(shí)現(xiàn)方法

創(chuàng)建一個(gè)類來(lái)表示一個(gè)人的信息。使用字典存儲(chǔ)每個(gè)人的對(duì)象,名字作為鍵。
使用pickle模塊永久地把這些對(duì)象存儲(chǔ)下來(lái)。
使用字典內(nèi)建的方法添加、刪除修改人員信息。

3、思維導(dǎo)圖

4、編寫偽代碼

# 1.創(chuàng)建字典用來(lái)存儲(chǔ)通訊錄信息
# 2.創(chuàng)建人員類,包含姓名、關(guān)系、電話三個(gè)屬性
# 3.創(chuàng)建操作類,包含增加、查詢、刪除人員,退出,保存并退出五個(gè)方法
# 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)建字典用來(lái)存儲(chǔ)通訊錄信息
personDictionary= {'name':{'relationship':'','tel':''}}
relationshipList=['家人','朋友','同事']

# 2.創(chuàng)建人員類,包含姓名、關(guān)系、電話三個(gè)屬性
class Person:
  def __init__(self,name,relationship= relationshipList[1],tel='None'):
    personDictionary[name]= {'relationship':relationship,'tel':tel}
# 3.創(chuàng)建操作類,包含增加、查詢、刪除人員,退出,保存并退出五個(gè)方法
class Operation:
  def Addperson():
    addname= input('請(qǐng)輸入姓名:')
    addrelationship= int(input('請(qǐng)選擇分組(0:家人,1:朋友,2:同事):'))
    addtel= input('請(qǐng)輸入電話:')
    Person(addname,relationshipList[addrelationship],addtel)
  def Delperson():
    name= input('請(qǐng)輸入要?jiǎng)h除的聯(lián)系人姓名:')
    del personDictionary[name]
  def Search():
    name= input('請(qǐng)輸入要查找的聯(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('請(qǐng)輸入指令:')
  # 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 
請(qǐng)輸入指令:search
請(qǐng)輸入要查找的聯(lián)系人的姓名:zhangsan
聯(lián)系人不存在。
請(qǐng)輸入指令:addperson
請(qǐng)輸入姓名:zhangsan
請(qǐng)選擇分組(0:家人,1:朋友,2:同事):1
請(qǐng)輸入電話:1234567
請(qǐng)輸入指令:search
請(qǐng)輸入要查找的聯(lián)系人的姓名:zhangsan
姓名:zhangsan,關(guān)系:朋友,電話:1234567
請(qǐng)輸入指令:sq
$ Python3 addressbook.py 
請(qǐng)輸入指令:search
請(qǐng)輸入要查找的聯(lián)系人的姓名:zhangsan
姓名:zhangsan,關(guān)系:朋友,電話:1234567
請(qǐng)輸入指令:addperson
請(qǐng)輸入姓名:lisi
請(qǐng)選擇分組(0:家人,1:朋友,2:同事):1
請(qǐng)輸入電話:1234567
請(qǐng)輸入指令:q
未找到指令!
請(qǐng)輸入指令:quit
$ Python3 addressbook.py 
請(qǐng)輸入指令:search
請(qǐng)輸入要查找的聯(lián)系人的姓名:lisi
聯(lián)系人不存在。
請(qǐng)輸入指令:search
請(qǐng)輸入要查找的聯(lián)系人的姓名:zhangsan
姓名:zhangsan,關(guān)系:朋友,電話:1234567
請(qǐng)輸入指令:quit

總結(jié)

以上就是Python實(shí)現(xiàn)命令行通訊錄實(shí)例教程的全部?jī)?nèi)容,如果有疑問(wèn)可以留言討論,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)使用python能有所幫助。

相關(guān)文章

  • Python 在區(qū)塊鏈智能合約開發(fā)中的應(yīng)用與實(shí)踐小結(jié)

    Python 在區(qū)塊鏈智能合約開發(fā)中的應(yīng)用與實(shí)踐小結(jié)

    Python作為一種廣泛應(yīng)用的編程語(yǔ)言,在區(qū)塊鏈智能合約開發(fā)中扮演著重要角色,通過(guò)使用Python框架如Brownie和Web3.py,開發(fā)者可以輕松編寫和部署智能合約,感興趣的朋友一起看看吧
    2024-09-09
  • Python循環(huán)語(yǔ)句介紹

    Python循環(huán)語(yǔ)句介紹

    大家好,本篇文章主要講的是Python循環(huán)語(yǔ)句介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Python drop方法刪除列之inplace參數(shù)實(shí)例

    Python drop方法刪除列之inplace參數(shù)實(shí)例

    這篇文章主要介紹了Python drop方法刪除列之inplace參數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python OpenCV實(shí)現(xiàn)邊緣檢測(cè)

    Python OpenCV實(shí)現(xiàn)邊緣檢測(cè)

    這篇文章主要為大家詳細(xì)介紹了Python OpenCV實(shí)現(xiàn)邊緣檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Python Django中間件詳細(xì)介紹

    Python Django中間件詳細(xì)介紹

    Django中的中間件是一個(gè)輕量級(jí)、底層的插件系統(tǒng),可以介入Django的請(qǐng)求和響應(yīng)處理過(guò)程,修改Django的輸入或輸出。中間件的設(shè)計(jì)為開發(fā)者提供了一種無(wú)侵入式的開發(fā)方式,增強(qiáng)了Django框架的健壯性
    2022-10-10
  • 基于Python實(shí)現(xiàn)溫度轉(zhuǎn)換程序

    基于Python實(shí)現(xiàn)溫度轉(zhuǎn)換程序

    這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)簡(jiǎn)單的溫度轉(zhuǎn)換程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • 一個(gè)Python最簡(jiǎn)單的接口自動(dòng)化框架

    一個(gè)Python最簡(jiǎn)單的接口自動(dòng)化框架

    這篇文章主要為大家詳細(xì)介紹了一個(gè)Python最簡(jiǎn)單的接口自動(dòng)化框架,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 教你用python編寫腳本實(shí)現(xiàn)自動(dòng)簽到

    教你用python編寫腳本實(shí)現(xiàn)自動(dòng)簽到

    這篇文章主要介紹了教你怎樣用python編寫腳本實(shí)現(xiàn)自動(dòng)簽到,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Python操作Access數(shù)據(jù)庫(kù)基本步驟分析

    Python操作Access數(shù)據(jù)庫(kù)基本步驟分析

    這篇文章主要介紹了Python操作Access數(shù)據(jù)庫(kù)基本步驟,結(jié)合實(shí)例形式詳細(xì)分析了Python針對(duì)access操作的具體步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-09-09
  • PyCharm搭建一勞永逸的開發(fā)環(huán)境

    PyCharm搭建一勞永逸的開發(fā)環(huán)境

    這篇文章主要介紹了PyCharm搭建一勞永逸的開發(fā)環(huán)境,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04

最新評(píng)論

松溪县| 越西县| 南江县| 友谊县| 邓州市| 伊春市| 阜城县| 大埔县| 内江市| 尼玛县| 亳州市| 毕节市| 清涧县| 溆浦县| 蛟河市| 金门县| SHOW| 那曲县| 山东省| 宣威市| 清水河县| 克拉玛依市| 资溪县| 扬中市| 海淀区| 葵青区| 阿瓦提县| 嵊泗县| 高邮市| 平乡县| 长治市| 丽江市| 读书| 剑川县| 黄陵县| 辉县市| 云霄县| 长海县| 甘泉县| 沅江市| 来安县|