您的位置:首页 > 编程语言 > Python开发

Python实现简单的电话簿功能

2017-08-12 17:18 459 查看
用Python实现简单的电话簿功能,添加、删除、查找、保存和提取功能

此处的思路:创建类,notes为类的变量,类中的方法对类的变量进行操作,包括保存和提取

其他思路:

创建人员类,创建操作类,在主函数创建字典,字典的key是人员名字,value是一个人员类的对象,操作类中包含各类操作的方法

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pickle as p

class 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('请输入数字选项')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 电话簿管理