首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

享学课堂浅谈用Python实现最基本的电话本

用Python实现最基本的电话本代码片段

1.[文件]myPhoneBook2.py~6KB

#!/usr/bin/python

#-*-coding:utf-8-*-

importre

classPhoneBook(object):

'''这是一个电话簿脚本。

该脚本能够实现

AddContact:添加联系人信息

ShowContact:查找姓名显示联系人

SaveContacts:存储联系人到TXT文档(存储格式——姓名:号码/号码)

LoadContacts:从txt文档中载入联系人

'''

def__init__(self):

self.contactsDict={}

defAddContact(self):

whileTrue:

name=raw_input('请输入姓名>>>')

name=name.strip()

#姓名必须包含有效字符

ifname!='':

break

print'***姓名不能为空'

whileTrue:

number=raw_input('请输入号码>>>')

number=re.sub(r'\D','',number)

#删除号码中的非数字字符

ifnumber!='':

break

print'***号码只能是数字'

cover=True#若联系人已存在,是否覆盖

ifself.contactsDict.has_key(name):

print'***联系人已存在'

self.ShowContact(name)

whileTrue:

control=raw_input('''

输入"c":覆盖原来号码

输入"n":保留原来号码并存储新号码

输入"q"退出\n>>>''')

ifcontrol.lower()=='n':

cover=False

break

ifcontrol.lower()=='c':

break

ifcontrol.lower()=='q':

returnNone

print'***输入错误'

ifcover:

self.contactsDict[name]=number

else:

ifnumberinself.contactsDict[name]:

print'***号码已经存在'

else:

self.contactsDict[name]=self.contactsDict[name]+'/'+number

defShowContact(self,name):

print'++++++++++++++++++++++++'

ifself.contactsDict.has_key(name):

print'【联系人信息】'

print'【姓名:%s】'%name

numberList=self.contactsDict[name].split('/')

fornuminrange(len(numberList)):

print'【号码%d:%s】'%(num+1,numberList[num])

else:

print'【找不到联系人%s】'%name

print'++++++++++++++++++++++++'

defDeleteNumber(self,name):

ifself.contactsDict.has_key(name):

self.ShowContact(name)

number=self.contactsDict[name].split('/')

whileTrue:

print'''

请输入要删除号码的序号

或者输入"a"删除该联系人

或者输入"q"退出(不删除)

(若联系人号码被全部删除,该联系人也将被删除)'''

control=raw_input('>>>')

ifcontrol.lower()=='q':

break

elifcontrol.lower()=='a':

delself.contactsDict[name]

break

elifcontrol.isdigit()andint(control)

delnumber[int(control)-1]

self.contactsDict[name]='/'.join(number)

break

else:

print'***输入有误'

defLoadContacts(self):

'''

try:

PhoneBook=open('PhoneBook.txt','a+')

contacts=PhoneBook.read()

ifcontacts=='':

print'***电话簿为空'

else:

ContactsList=contacts.split('\n')

forcontactinContactsList:

ifnotcontact=='':

contact=contact.split(':')

name=contact[0]

number=contact[1]

self.contactsDict[name]=number

finally:

PhoneBook.close()

'''

self.contactsDict=

defSaveContacts(self):

try:

ifself.contactsDict:

PhoneBook=open('PhoneBook.txt','w')

forname,numberinself.contactsDict.items():

line=name+':'+number

PhoneBook.write(line)

PhoneBook.write('\n')

else:

print'***没有联系人信息'

finally:

PhoneBook.close()

if__name__=='__ma

1c42

in__':

myPhoneBook=PhoneBook()

myPhoneBook.LoadContacts()

try:

whileTrue:

raw_input('按回车键继续')

print'''

--------------------------------

输入a:添加联系人

输入s:显示联系人信息

输入d:删除联系人

输入q:退出

--------------------------------'''

control=raw_input('>>>')

ifcontrol.lower()=='a':

myPhoneBook.AddContact()

elifcontrol.lower()=='s':

name=raw_input('请输入要查找的联系人姓名\n>>>')

myPhoneBook.ShowContact(name)

elifcontrol.lower()=='d':

name=raw_input('请输入要删除的联系人姓名\n>>>')

myPhoneBook.DeleteNumber(name)

elifcontrol.lower()=='q':

break

else:

print'***输入有误'

finally:

myPhoneBook.SaveContacts()

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171212A0WYMN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券