###################################################################
#---模拟电话本、通讯录
###################################################################
name=[]
age=[]
hobby=[]
ad=[]
qq=[]
mail=[]
class books():#定义一个通讯录类
def __init__(self,name,age,hobby,ad,qq,mail): #初始化属性 在有子类继承时如果子类定义了初始化方法
#则程序运行时不会再调用父类初始2
# 化方法。如果子类没有写init()初始化方法,则默认自动调用父类方法
#如果想要父类和子类都运行各自的方法,子类需要自己初始化方法,并继承父类init,需要加上 父类.__init__(self,....)
#或是super(self,子类名).__init__(self,.....)
self.name=name
self.age=age
self.hobby=hobby
self.ad=ad
self.qq=qq
self.mail=mail
print('{*30*}',format("1.添加联系人"))
print('{*30*}',format("2.显示联系人"))
print('{*30*}',format("3.删除联系人"))
print('{*30*}',format("4.查找联系人"))
print('{*30*}',format("5.退出系统"))
# ----------------------------------------------------------------
def add(self): #添加通讯簿成员 方法定义
print("姓名:")
self.name = input("")
print("年龄:")
self.age = input("")
print("爱好:")
self.hobby = input("")
print("地址:")
self.ad = input("")
print("qq:")
self.qq = input("")
print("mail:")
self.mail = input("")
name.append(self.name)
age.append(self.age)
hobby.append(self.hobby)
ad.append(self.ad)
qq.append(self.qq)
mail.append(self.mail)
print("添加成功!按任意键继续……")
# ----------------------------------------------------------------
def find(self): #查找通讯薄成员 方法定义
findname = input("请输入要查找的人员名字:")
print("以下是为您匹配到个结果:无结果则表示列表为空")
for i in range(0, len(name)):
if findname in name[i]:
print("******-----------------------******")
print("姓名:", name[i])
print("年龄:", age[i])
print("爱好:", hobby[i])
print("地址:", ad[i])
print("qq:", qq[i])
print("mail:", mail[i])
print("******-----------------------******")
def delete(self): #删除通讯簿成员 方法定义
deletename=input("请输入要删除的人员名字:")
if(name.count(deletename)==0): #有条件判断时,应把条件从句写在开口处,如果放在for循环中,很多时候会失效。程序逻辑也会不清晰。此句是判断输入值是否在name列表中存在。list.count(obj)
#可以计算出对象obj在列表中出现的次数。
print("查无此人!")
else:
for i in range(0, len(name)):
if deletename in name[i]:
name.remove(name[i])
print("删除成功!")
# ----------------------------------------------------------------
def see(self): #显示所有通讯簿成员 方法定义
if(len(name)<1):
print("通讯录列表为空!") #有条件判断时,应把条件从句写在开口处,如果放在for循环中,很多时候会失效#
else:
print("通讯录列表:")
for i in range(0, len(name)):
print("姓名:",name[i])
print("年龄:", age[i])
print("爱好:", hobby[i])
print("地址:", ad[i])
print("qq:", qq[i])
print("mail:", mail[i])
print("-----------------------------")
# ----------------------------------------------------------------
#操作符
# ----------------------------------------------------------------
def manual(self): #操作菜单 方法定义
while (1):
try:
number = int(input("请输入操作编号:"))
if number in[1,2,3,4,5]:
if (number == 1):
Book.add()
elif (number == 2):
Book.see()
elif (number == 3):
Book.delete()
elif (number == 4):
Book.find()
elif(number==5):
break
else:print("请输入正确的字符编码!")
except:
print("请输入正确的字符编码!")
Book = books("", "", "", "", "", "")
Book.manual()
mark:这个小程序没有添加验证功能,需要自己可添加验证条件。