python实现通讯录系统

本文实例为大家分享了python实现通讯录系统的具体代码,供大家参考,具体内容如下

一、首先,给大家看一下这个系统的主菜单效果

如下:

python实现通讯录系统

二、步骤分析

1、首先创建一个main.py文件:

python实现通讯录系统

main.py:

#导入管理系统模块
from managerSystem import ContactManager
#启动管理系统
if __name__==\'__main__\':
    contact_manager=ContactManager()
    contact_manager.run()

2、第二步,将主菜单列表展示出出来:

*创建managerSystem.py:

python实现通讯录系统

*在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:

python实现通讯录系统

 最后,给大家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()

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容