class User:
name = ""
qq = ""
phone = ""
mail = ""
def __init__(self, name, qq, phone, mail):
self.name = name
self.qq = qq
self.phone = phone
self.mail = mail
def get_name(self):
return self.name
def get_qq(self):
return self.qq
def get_phone(self):
return self.phone
def get_mail(self):
return self.mail
class Userlist:
user_list = []
def add(self):
while True:
u_name = input("请输入姓名:")
u_qq = input("请输入QQ:")
u_phone = input("请输入电话号码:")
u_mail = input("请输入邮箱:")
user = User(u_name, u_qq, u_phone, u_mail)
self.user_list.append(user)
print('添加成功,当前通讯录存在:')
j = 1
print('通信数据列表'.center(87, '~'))
print("{0:<5}\t\t{1:<5}\t\t{2:<15}\t\t{3:<18}\t\t{4:<25}".format("序号", "姓名", "QQ", "电话", "邮箱", chr(12288)),
end='')
print()
for i in self.user_list:
print("{0:<5}\t\t{1:<5}\t\t{2:<15}\t\t{3:<18}\t\t{4:<25}".format(str(j), i.name, i.qq, i.phone,
i.mail, chr(12288)))
j = j + 1
print('~' * 90)
s = input("请输入[q]返回首页,输入其他字符将继续增加信息:")
if s == 'q':
break;
def dele(self):
while True:
i = input("请输入需删除学生的序号:")
if i.isdigit():
j = int(i)
if (j > len(self.user_list)):
print('数值越界,请重新输入')
continue
else:
self.user_list.pop(j - 1)
print('删除成功,删除后当前通讯录为:')
j = 1
print('通信数据列表'.center(87, '~'))
print("{0:<5}\t\t{1:<5}\t\t{2:<15}\t\t{3:<18}\t\t{4:<25}".format("序号", "姓名", "QQ", "电话", "邮箱",
chr(12288)),
end='')
print()
for i in self.user_list:
print("{0:<5}\t\t{1:<5}\t\t{2:<15}\t\t{3:<18}\t\t{4:<25}".format(str(j), i.name, i.qq, i.phone,
i.mail, chr(12288)))
j = j + 1
print('~' * 90)
else:
print('输入非法,请重新输入')
continue
s = input("请输入[q]返回首页,输入其他字符将继续删除信息:")
if s == 'q':
break;
def modify(self):
while True:
i = input("请输入需修改学生的序号:")
if i.isdigit():
j = int(i)
if j > len(self.user_list) or j <= 0:
print('不存在的编号,请重新输入')
continue
else:
i_name = input("请输入姓名:")
i_qq = input("请输入QQ:")
i_phone = input("请输入电话号码:")
i_mail = input("请输入邮箱:")
if i_name != ' ' and i_name != '':
self.user_list[j - 1].name = i_name
if i_qq != ' ' and i_qq != '':
self.user_list[j - 1].qq = i_qq
if i_phone != ' ' and i_phone != '':
self.user_list[j - 1].phone = i_phone
if i_mail != ' ' and i_mail != '':
self.user_list[j - 1].mail = i_mail
print('修改成功,修改后为:')
j = 1
print("{0:<5}\t\t{1:<5}\t\t{2:<15}\t\t{3:<18}\t\t{4:<25}".format("序号", "姓名", "QQ", "电话", "邮箱",
chr(12288)),
end='')
print()
for i in self.user_list:
print("{0:<5}\t\t{1:<5}\t\t{2:<15}\t\t{3:<18}\t\t{4:<25}".format(str(j), i.name, i.qq, i.phone,
i.mail,
chr(12288)))
j = j + 1
else:
print('输入非法,请重新输入')
continue
s = input("请输入[q]返回首页,输入其他字符将继续修改信息:")
if s == 'q':
break
def read(self):
while True:
j = 1
print('通信数据列表'.center(87, '~'))
print("{0:<5}\t\t{1:<5}\t\t{2:<15}\t\t{3:<18}\t\t{4:<25}".format("序号", "姓名", "QQ", "电话", "邮箱", chr(12288)),
end='')
print()
for i in self.user_list:
print("{0:<5}\t\t{1:<5}\t\t{2:<15}\t\t{3:<18}\t\t{4:<25}".format(str(j), i.name, i.qq, i.phone, i.mail,
chr(12288)))
j = j + 1
print('~' * 90)
s = input("请输入[q]返回首页,输入其他字符将继续查询:")
if s == 'q':
break;
def show_menu():
print('*' * 90)
print('南开大学软件学院通讯录管理系统v0.01a'.center(90))
print()
print('添加数据请按[a]'.center(90))
print('查看数据请按[s]'.center(90))
print('删除数据请按[d]'.center(90))
print('修改数据请按[m]'.center(90))
print('退出请按[q]'.rjust(88))
print('*' * 90)
if __name__ == '__main__':
u_list = Userlist()
while True:
show_menu()
op = input()
if op == 'a':
u_list.add()
elif op == 's':
u_list.read()
elif op == 'd':
u_list.dele()
elif op == 'm':
u_list.modify()
elif op == 'q':
break
else:
print('您的输入有误')
s = input('按任意键继续...')
continue
实现通讯录的面向对象03
最新推荐文章于 2024-10-12 12:26:23 发布