python实现通讯录系统
作者:不许代码码上红 时间:2023-06-12 20:57:50
本文实例为大家分享了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()
来源:https://blog.csdn.net/qq_45801904/article/details/123693545
标签:python,通讯录
0
投稿
猜你喜欢
详解PHP的Sodium加密扩展函数
2024-03-17 23:53:02
MySQL与存储过程的相关资料
2024-01-16 03:20:04
如何用mysql自带的定时器定时执行sql(每天0点执行与间隔分/时执行)
2024-01-16 01:58:31
Python 的类、继承和多态详解
2021-05-29 17:31:51
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2023-01-13 02:09:09
Keras搭建Efficientdet目标检测平台的实现思路
2022-01-18 21:07:31
JavaScript中对象property的删除方法介绍
2024-06-05 09:29:09
python实现健康码查验系统
2022-06-27 06:31:34
python执行系统命令4种方法与比较
2022-12-13 12:55:59
浅谈keras中loss与val_loss的关系
2021-12-12 08:41:22
基于Python编写一个ISBN查询工具
2022-02-22 09:43:21
Python 操作 MongoDB 讲解详细
2021-11-28 10:00:46
Python通过文本和图片生成词云图
2023-08-03 09:39:35
oracle SQL解析步骤小结
2009-09-30 10:46:00
PHP开发技巧之PHAR反序列化详解
2023-11-15 02:23:45
ASP生成静态网页各种方法收集整理
2008-02-18 19:25:00
python用字典统计单词或汉字词个数示例
2021-09-02 17:14:10
python实现PolynomialFeatures多项式的方法
2023-09-24 21:12:24
MySQL CHAR和VARCHAR存储、读取时的差别
2024-01-22 20:54:58
详解Python如何优雅地解析命令行
2021-02-16 01:53:59