python实现手机通讯录搜索功能
本文实例为大家分享了python通过输入联系人首字母查询联系人的具体代码,供大家参考,具体内容如下
#-*-coding:utf-8-*- #练习2: #模拟手机通讯录搜索功能 classPERSON(object): def__init__(self): self.name_list=['zhangsan','zhangsanfeng','zhaoliu','wangwu','wulong','wanda','lisi','liuyang','luoxiaoxiao','linmeimei','luhan','gaohairui','guojing','huangrong','hanhan'] #声明空字典 self.ss_dict={} deftotal(self): #for循环遍历列表,取出每一个姓名 fornameinself.name_list: #取出首字母 s=name[0] #判断字典中是否有s这个key ifsnotinself.ss_dict: #如果没有,根据key将存放name的列表放入字典 #s_list=[] #s_list.append(name) #self.ss_dict[s]=s_list self.ss_dict[s]=[name] else: #如果有,根据key取出列表,将这个name添加到列表 s_list=self.ss_dict[s] s_list.append(name) print(self.ss_dict) defadd_person(self): name=input('请输入姓名:') ifnamenotinself.name_list: self.name_list.append(name) s=name[0] ifsnotinself.ss_dict: self.ss_dict[s]=[name] else: s_list=self.ss_dict[s] s_list.append(name) else: print('已存在!') defquery_person(self): s=input('请输入要查找联系人名字的首字母:') #s就是要查找的字典的key ifsnotinself.ss_dict: print('不存在') else: #根据这个key取出字典中对应的值(列表) s_list=self.ss_dict[s] forindex,nameinenumerate(s_list): print('序号:%s姓名:%s'%(index,name)) #forxinrange(0,len(s_list)): #name=s_list[x] #print('序号:%s姓名:%s'%(x,name)) returns defalter_person(self): s=self.query_person() index=int(input('请输入要修改联系人的序号:')) new_name=input('输入更改后的名字(%s):'%self.ss_dict[s][index]) delself.ss_dict[s][index] s=new_name[0] ifsnotinself.ss_dict: self.ss_dict[s]=[new_name] else: s_list=self.ss_dict[s] s_list.append(new_name) defdelete_person(self): whilelen(self.ss_dict)=='0': print('信息为空!') print('1.根据名字删除') print('2.全部删除') print('0.退出') num=int(input('输入序号:')) whilenumnotinrange(0,3): num=int(input('选项不存在,请重输:')) ifnum==1: s=self.query_person() index=int(input('请输入要删除联系人的序号:')) rs=input('是否真的要删除,(y/n):') ifrs=='y': self.ss_dict[s].pop(index) print('删除成功') else: print('取消删除') elifnum==2: rs=input('是否真的要删除,(y/n):') ifrs=='y': self.ss_dict.clear() print('删除成功') else: print('取消删除') else: return defstart(self): self.total() while1: print('1.添加联系人') print('2.查询联系人') print('3.修改联系人') print('4.删除联系人') print('0.退出') num=int(input('输入序号:')) whilenumnotinrange(0,5): num=int(input('选项不存在,请重输:')) ifnum==1: self.add_person() elifnum==2: self.query_person() elifnum==3: self.alter_person() elifnum==4: self.delete_person() else: break p=PERSON() p.start()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。