好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

python实现通讯录系统

本文实例为大家分享了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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

查看更多关于python实现通讯录系统的详细内容...

  阅读:49次