Python实现简单的电话簿功能

来源:互联网 发布:微信怎么发淘宝联盟 编辑:程序博客网 时间:2024/05/16 16:02

用Python实现简单的电话簿功能,添加、删除、查找、保存和提取功能
此处的思路:创建类,notes为类的变量,类中的方法对类的变量进行操作,包括保存和提取
其他思路:
创建人员类,创建操作类,在主函数创建字典,字典的key是人员名字,value是一个人员类的对象,操作类中包含各类操作的方法

#!/usr/bin/env python# -*- coding:utf-8 -*-import pickle as pclass person:    notes={}    def add(self):        name = input('请输入要添加的联系人姓名')        if name in person.notes:            print('该联系人已经存在')        else:          telephone =  (input('请输入联系人电话号码'))          addr =  (input('请输入联系人地址'))          label={'电话':telephone,'地址':addr}          person.notes[name]=label    def dele(self):      name = (input('请输入要删除的联系人姓名'))      if name in person.notes:        del person.notes[name]        print ("%s" %  person.notes.items())      else:        print('联系人 %s 不存在'%name)    def search(self):      name = (input('请输入要搜索的联系人姓名'))      if name in person.notes:         print('联系人 %s 的电话号码是 %s , 地址是 %s'%(name,person.notes[name]['电话'],person.notes[name]['地址']))      else:         print('联系人 %s 不存在'%name)    def modify(self):      name = (input('请输入要编辑的联系人姓名'))      if name in person.notes:        telephone =  (input('请输入联系人电话号码'))        addr =  (input('请输入联系人地址'))        person.notes[name]['电话']=telephone        person.notes[name]['地址']=addr      else:         print('联系人 %s 不存在,若要编辑请选择添加选项'%name)    def write(self):      f = open('联系人.txt','wb+')      p.dump(person.notes,f)      f.close()    def read(self):      file = '联系人.txt'      try:        f = open(file ,'rb+')        person.notes = p.load(f)        f.close()      except:        f = open(file ,'w')        f.close()    def show(self):      print(person.notes)def menu():    print('''系统提供以下功能    1:添加    2:删除    3:修改    4:搜索    5:退出    6: 显示全部联系人信息''')people = person()people.read()while True:  try:    menu()    choice = int(input('请输入相应数字操作'))    if choice==1:        people.add()    elif choice ==2:        people.dele()    elif choice ==3:        people.modify()    elif choice ==4:        people.search()    elif choice ==5:        people.write()        break    elif choice==6:        people.show()    else:        print('输入不合法,请输入合法数字')  except ValueError:      print('请输入数字选项')
原创粉丝点击