Python 实现简单的电话本功能

Python 实现简单的电话本功能,第1张

概述Python 实现简单的电话本功能

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

#!/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__ == '__main__':    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()                                                

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的Python 实现简单的电话本功能全部内容,希望文章能够帮你解决Python 实现简单的电话本功能所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1199256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存