python实现通讯录系统
短信预约 -IT技能 免费直播动态提醒
本文实例为大家分享了python实现通讯录系统的具体代码,供大家参考,具体内容如下
一、首先,给大家看一下这个系统的主菜单效果
如下:
二、步骤分析
1、首先创建一个main.py文件:
main.py:
#导入管理系统模块
from managerSystem import ContactManager
#启动管理系统
if __name__=='__main__':
contact_manager=ContactManager()
contact_manager.run()
2、第二步,将主菜单列表展示出出来:
*创建managerSystem.py:
*在mangagerSystem.py中写一个静态方法:
#2.1系统菜单功能实现--静态方法
@staticmethod
def show_menu():
print('请选择如下功能:')
print('1、添加联系人')
print('2、删除联系人')
print('3、修改联系人信息')
print('4、查询联系人信息')
print('5、显示所有联系人信息')
print('6、保存联系人信息')
print('7、退出系统')
3、第三步,实现功能:
例如,增加联系人功能函数:
def add_contact(self):
# 1. 用户输入姓名 性别 手机号
name = input('请输入您的姓名:')
gender = input('请输入您的性别:')
tel = input('请输入您的电话:')
# 2.创建联系人对象
contact = Contact(name, gender, tel)
# 3. 将该对象添加到联系人列表
self.contact_list.append(contact)
print(self.contact_list)
print(contact)
4、创建contact表:
contact:
class Contact(object):
def __init__(self,name,gender,tel):
#形参 name,gender,tel
#实例属性
self.name=name
self.gender=gender
self.tel=tel
def __str__(self):
return f'{self.name},{self.gender},{self.tel}'
5、记录数据:contact.data:
最后,给大家managerSystem.py源代码:
from contact import Contact
class ContactManager(object):
def __int__(self):
self.contact_list=[]
def run(self):
self.load_contact()
while True:
self.show_menu()
menu_num=int(input('请输入您需要的功能序号:'))
if menu_num==1:
self.add_contact()
elif menu_num==2:
self.del_contact()
elif menu_num==3:
self.modify_contact()
elif menu_num==4:
self.search_contact()
elif menu_num==5:
self.show_contact()
elif menu_num==6:
self.save_contact()
elif menu_num==7:
break
@staticmethod
def show_menu():
print('请选择如下功能:')
print('1、添加联系人')
print('2、删除联系人')
print('3、修改联系人信息')
print('4、查询联系人信息')
print('5、显示所有联系人信息')
print('6、保存联系人信息')
print('7、退出系统')
def add_contact(self):
name = input('请输入您的姓名:')
gender = input('请输入您的性别:')
tel = input('请输入您的电话:')
contact = Contact(name, gender, tel)
self.contact_list.append(contact)
print(self.contact_list)
print(contact)
def del_contact(self):
del_name = input('请输入要删除的联系人姓名:')
flag=1
for i in self.contact_list:
if i.name == del_name:
self.contact_list.remove(i)
flag=0
break
if flag==1:
print('查无此人!')
print(self.contact_list)
def modify_contact(self):
modify_name = input('请输入要修改的联系人姓名:')
flag=1
for i in self.contact_list:
if i.name == modify_name:
i.name = input('请输入联系人姓名:')
i.gender = input('请输入联系人性别:')
i.tel = input('请输入联系人手机号:')
print(f'修改该联系人信息成功,姓名:{i.name}, 性别{i.gender}, 手机号{i.tel}')
flag=0
break
if flag==1:
print('查无此人!')
def search_contact(self):
search_name = input('请输入要查询的联系人姓名:')
flag=1
for i in self.contact_list:
if i.name == search_name:
print(f'姓名{i.name}, 性别{i.gender}, 手机号{i.tel}')
flag=0
break
if flag==1:
print('查无此人!')
def show_contact(self):
print("姓名\t性别\t手机号")
for i in self.contact_list:
print(f'{i.name}\t{i.gender}\t{i.tel}')
def save_contact(self):
f = open('contact.data', 'w')
new_list = [i.__dict__ for i in self.contact_list]
f.write(str(new_list))
f.close()
def load_contact(self):
try:
f = open('contact.data', 'r')
except:
f = open('contact.data', 'w')
else:
data = f.read()
new_list = eval(data)
self.contact_list = [Contact(i['name'], i['gender'], i['tel']) for i in new_list]
finally:
f.close()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341