python实现通讯录系统

 更新时间:2022年05月16日 14:08:12   作者:不许代码码上红  
这篇文章主要为大家详细介绍了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类中方法getitem和getattr详解

    Python类中方法getitem和getattr详解

    这篇文章主要介绍了Python类中方法getitem和getattr详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python映射拆分操作符用法实例

    Python映射拆分操作符用法实例

    这篇文章主要介绍了Python映射拆分操作符用法,实例分析了Python映射拆分操作符**的使用技巧,需要的朋友可以参考下
    2015-05-05
  • 使用python matplotlib画折线图实例代码

    使用python matplotlib画折线图实例代码

    Matplotlib是一个Python工具箱,用于科学计算的数据可视化,下面这篇文章主要给大家介绍了关于如何使用python matplotlib画折线图的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Python入门之模块与包

    Python入门之模块与包

    这篇文章主要为大家介绍了Python的模块与包,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • python散点图双轴设置坐标轴刻度的实现

    python散点图双轴设置坐标轴刻度的实现

    散点图是一种常用的图表类型,可以用来展示两个变量之间的关系,本文主要介绍了python散点图双轴设置坐标轴刻度的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • pycharm配置SSH远程连接服务器详细步骤(0基础详细版)

    pycharm配置SSH远程连接服务器详细步骤(0基础详细版)

    PyCharm是一款流行的Python集成开发环境(IDE),提供了远程连接云服务器的功能,使得开发者可以更加便捷地进行远程开发和调试,这篇文章主要给大家介绍了关于pycharm配置SSH远程连接服务器的详细步骤,需要的朋友可以参考下
    2024-07-07
  • Pytorch Conda环境下载慢换源/删源/恢复默认源的简单操作

    Pytorch Conda环境下载慢换源/删源/恢复默认源的简单操作

    随着实验增多,需要分割创建环境的情况时有出现,在此情况下使用conda create --name xx python=3.10 pytorch torchvision pytorch-cuda -c nvidia -c pytorch -y这样的指令创建时如果不换源,往往下载速度很慢,本文介绍了解决办法,需要的朋友可以参考下
    2024-07-07
  • python中的print()函数end=' '的使用及说明

    python中的print()函数end=' '的使用及说明

    这篇文章主要介绍了python中的print()函数end=' '的使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 详解Python如何利用Pandas与NumPy进行数据清洗

    详解Python如何利用Pandas与NumPy进行数据清洗

    许多数据科学家认为获取和清理数据的初始步骤占工作的 80%,花费大量时间来清理数据集并将它们归结为可以使用的形式。本文将利用 Python 的 Pandas和 NumPy 库来清理数据,需要的可以参考一下
    2022-04-04
  • python画一个圣诞树实现示例

    python画一个圣诞树实现示例

    这篇文章主要为大家介绍了使用python画一个圣诞树实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05

最新评论