用Python实现最基本的电话本,Python实现电话,<用Python实现最基
用Python实现最基本的电话本,Python实现电话,<用Python实现最基
<用Python实现最基本的电话本>用Python实现最基本的电话本代码片段
1.[文件] myPhoneBook2.py~6KB
#!/usr/bin/python# -*- coding: utf-8 -*-import reclass PhoneBook(object): '''这是一个电话簿脚本。 该脚本能够实现 AddContact:添加联系人信息 ShowContact:查找姓名显示联系人 SaveContacts:存储联系人到 TXT 文档(存储格式——姓名:号码/号码) LoadContacts:从 txt 文档中载入联系人 ''' def __init__(self): self.contactsDict = {} def AddContact(self): while True: name = raw_input('请输入姓名>>>') name = name.strip() # 姓名必须包含有效字符 if name != '': break print '***姓名不能为空' while True: number = raw_input('请输入号码>>>') number = re.sub(r'\D', '', number) # 删除号码中的非数字字符 if number != '': break print '***号码只能是数字' cover = True #若联系人已存在,是否覆盖 if self.contactsDict.has_key(name): print '***联系人已存在' self.ShowContact(name) while True: control = raw_input('''输入 "c":覆盖原来号码输入 "n":保留原来号码并存储新号码输入 "q" 退出\n>>>''') if control.lower() == 'n': cover = False break if control.lower() == 'c': break if control.lower() == 'q': return None print '***输入错误' if cover: self.contactsDict[name] = number else: if number in self.contactsDict[name]: print '***号码已经存在' else: self.contactsDict[name] = self.contactsDict[name] + '/' + number def ShowContact(self, name): print '++++++++++++++++++++++++' if self.contactsDict.has_key(name): print '【联系人信息】' print '【姓名: %s】' % name numberList = self.contactsDict[name].split('/') for num in range(len(numberList)): print '【号码%d: %s】' % (num+1, numberList[num]) else: print '【找不到联系人%s】' % name print '++++++++++++++++++++++++' def DeleteNumber(self, name): if self.contactsDict.has_key(name): self.ShowContact(name) number = self.contactsDict[name].split('/') while True: print '''请输入要删除号码的序号或者输入 "a" 删除该联系人或者输入 "q" 退出(不删除)(若联系人号码被全部删除,该联系人也将被删除)''' control = raw_input('>>>') if control.lower() == 'q': break elif control.lower() == 'a': del self.contactsDict[name] break elif control.isdigit() and int(control) <= len(number): del number[int(control)-1] self.contactsDict[name] = '/'.join(number) break else: print '***输入有误' def LoadContacts(self): ''' try: PhoneBook = open('PhoneBook.txt', 'a+') contacts = PhoneBook.read() if contacts == '': print '***电话簿为空' else: ContactsList = contacts.split('\n') for contact in ContactsList: if not contact == '': contact = contact.split(':') name = contact[0] number = contact[1] self.contactsDict[name] = number finally: PhoneBook.close() ''' self.contactsDict = {line.split(':')[0]: line.split(':')[1] for line in open('PhoneBook.txt','a+').readlines()} def SaveContacts(self): try: if self.contactsDict: PhoneBook = open('PhoneBook.txt', 'w') for name, number in self.contactsDict.items(): line = name + ':' + number PhoneBook.write(line) PhoneBook.write('\n') else: print '***没有联系人信息' finally: PhoneBook.close()if __name__ == '__ma1c42in__': myPhoneBook = PhoneBook() myPhoneBook.LoadContacts() try: while True: raw_input('按回车键继续') print '''-------------------------------- 输入 a:添加联系人 输入 s:显示联系人信息 输入 d:删除联系人 输入 q:退出--------------------------------''' control = raw_input('>>>') if control.lower() == 'a': myPhoneBook.AddContact() elif control.lower() == 's': name = raw_input('请输入要查找的联系人姓名\n>>>') myPhoneBook.ShowContact(name) elif control.lower() == 'd': name = raw_input('请输入要删除的联系人姓名\n>>>') myPhoneBook.DeleteNumber(name) elif control.lower() == 'q': break else: print '***输入有误' finally: myPhoneBook.SaveContacts()
编橙之家文章,
相关内容
- 用python代码科学上Google,python代码google,用python代码科学
- python终端播放音乐同步显示本地或网络歌词,python播放
- python获取情敌电脑内照片神器,,python获取情敌电脑
- python随机搜索并打开该路径内的文件,,标签: <pyt
- 基于python Selenium的用户登录自动化测试,pythonselenium,使
- 通过python hp ilo对机器的状态进行监控,pythonilo,<通过
- python深度搜索+命令模式 解数独,python解数,python深度搜
- 网友用python把IPv4地址变成LITNET-NAT64网段,ipv4litnet-nat
- python抓取百度音乐mp3歌曲,python抓取百度音乐,python抓取
- 使用Python生成文件的MD5和sha1,,使用Python生成文件
评论关闭