用面向对象实现手机通讯录的以下功能:
1.增加联系人姓名和手机号
2.删除联系人
3.修改手机号码
4.查询通讯录中所有联系人
5.根据姓名查找手机号
6.退出
class Address_list:
def __init__(self):
self.number_dict={}
self.number_list=[]
#欢迎页面
def welcome(self):
print('-----通讯录管理系统-----')
print('1.增加联系人姓名和手机号')
print('2.删除联系人')
print('3.修改手机号码')
print('4.查询通讯录中所有联系人')
print('5.根据姓名查找手机号')
print('6.退出')
print('-----------------------')
#增加姓名和号码
def add_name_number(self):
name=input('请输入您要存入的姓名:')
number=input('请输入您要存入的电话号码:')
self.number_dict.update({name:number})
for i in self.number_dict:
if i not in self.number_list:
self.number_list.append(i)
n=int(input('继续添加联系人请按1,返回选择页面请按2:'))
if n==1:
self.add_name_number()
elif n==2:
self.welcome()
else:
print('没有该操作!即将退出程序。。。')
quit()
#删除联系人
def delete_name(self):
name=input('请输入您要删除的联系人姓名:')
if name in self.number_list:
del self.number_dict[name]
print(self.number_dict)
self.number_list.remove(name)
print(self.number_list)
print('删除成功!')
self.welcome()
else:
n=int(input('您的通讯录中没有该联系人,继续删除请按1,返回上层请按2:'))
if n==1:
self.delete_name()
elif n==2:
self.welcome()
else:
print('没有该操作。')
#更改联系人号码
def change_number(self):
name=input('请输入您要更改电话号码的联系人姓名:')
if name in self.number_list:
num=input('请输入您要更新的电话号码:')
self.number_dict[name]=num
print('更改号码成功,更改后号码为{}'.format(num))
n=input('是否继续更改(y/n):')
if n=='y':
self.change_number()
elif n=='n':
self.welcome()
else:
print('您通讯录中无该联系人!!!')
#查询所有联系人
def find_all_num(self):
lt=[]
if len(self.number_dict)!=0:
for i in self.number_list:
lt.append(i)
a=set(lt)
print('您通讯录中的联系人有:{}'.format(a))
self.welcome()
else:
print('您通讯录中没有联系人,返回功能页。')
self.welcome()
#根据姓名查找手机号
def name_to_number(self):
name = input('请输入您要查找手机号的联系人姓名:')
for i in self.number_list:
if i == name:
n=self.number_dict.get(i)
print('{}的电话号码为:{}'.format(i,n))
#退出
def drop_out(self):
import time
print('即将退出程序...')
time.sleep(3)
print('退出成功。')
quit()
a=Address_list()
a.welcome()
while True:
n=int(input('请输入您要执行的操作:'))
if n==1:
a.add_name_number()
if n==2:
a.delete_name()
if n==3:
a.change_number()
if n==4:
a.find_all_num()
if n==5:
a.name_to_number()
if n==6:
a.drop_out()
本来做完了还感觉挺开心,之后调试出了一堆bug,改的时间快比做的时间长了。。。。