首页 > 其他分享 >通讯录

通讯录

时间:2024-04-12 17:22:05浏览次数:27  
标签:name contacts self 联系人 number contact 通讯录

class AddressBook:
def init(self):
self.contacts = []

def add_contact(self, name, phone_number):
    """增加联系人"""
    self.contacts.append({'name': name, 'phone_number': phone_number})

def delete_contact(self, name):
    """删除联系人"""
    for i, contact in enumerate(self.contacts):
        if contact['name'] == name:
            del self.contacts[i]
            break
    else:
        print("联系人不存在")

def update_contact(self, old_name, new_name=None, new_phone_number=None):
    """更新联系人信息"""
    for contact in self.contacts:
        if contact['name'] == old_name:
            if new_name:
                contact['name'] = new_name
            if new_phone_number:
                contact['phone_number'] = new_phone_number
            print(f"联系人 {old_name} 的信息已更新。")
            break
    else:
        print("联系人不存在")

def search_contact(self, name):
    """查找联系人"""
    for contact in self.contacts:
        if contact['name'] == name:
            return contact
    print("联系人不存在")
    return None

def display_all_contacts(self):
    """显示所有联系人"""
    for contact in self.contacts:
        print(f"姓名: {contact['name']}, 电话号码: {contact['phone_number']}")

使用示例:

address_book = AddressBook()
address_book.add_contact("张三", "123456789")
address_book.add_contact("李四", "987654321")
address_book.display_all_contacts() # 显示所有联系人信息
address_book.delete_contact("李四") # 删除李四的联系人信息
address_book.update_contact("张三", new_name="张三丰", new_phone_number="0987654321") # 更新张三的联系人信息
updated_contact = address_book.search_contact("张三丰") # 查找张三丰的联系人信息并打印出来,如果找不到则打印"联系人不存在"的信息。如果找到,则打印出该联系人的信息。这里返回的是一个字典,包含了联系人的姓名和电话号码。你可以根据需要进一步处理这个字典。这里只是简单地打印出来。如果需要进一步处理,你可以根据需要修改这部分代码。例如,你可以将这个字典保存到数据库中,或者发送短信等操作。具体实现取决于你的需求和使用的技术栈。这里只是一个简单的示例,演示了如何使用这个通讯录类来实现增删改查的基本操作。你可以根据自己的需求进行扩展和修改。")

标签:name,contacts,self,联系人,number,contact,通讯录
From: https://www.cnblogs.com/maping/p/18131732

相关文章

  • 20240410,结构体,通讯录管理系统
    感觉学到现在就是,基础的听了好多遍敲了很多次熟的不得了,但是一开始就没学学会的一直没研究,学会了但是没复习,和新学的没重叠的也忘了,难顶一,结构体属于用户自定义的数据类型,STRUCT类型名称{成员列表}#include<stdio.h>//听男神讲C的时候没有做过这种练习,C也是可以成员不......
  • Qt通讯录管理系统
        在git上面找的一个操作文件的qt通讯录管理系统,尝试将它复刻了一下.    成果展示    分两个txt文件存储,一个是手机联系人,一个是电话卡联系人,主要功能就是增删改查,主要使用的是OOP的编程思想.    实现过程    界面布局 ......
  • C++笔记打卡第六天(通讯录管理系统)
    1.结构体案例1每名老师带领5个学生,总共有3个老师。设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员。学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值。最终打印出老师数据以及老师所带学生数据。#......
  • 通讯录----顺序表版本
    1.通讯录的实现逻辑对于通讯录,我们做的无非就是初始化,销毁。添加联系人数据,修改联系人数据,删除联系人数据,查找联系人数据,展示联系人数据;这个不就和我们的顺序表的逻辑如出一辙吗,顺序表实现的功能不就是数据的初始化,修改,删除(头删和尾删),添加(头插和尾插),顺序表的打印,这些我们是可......
  • Python 基于列表实现的通讯录管理系统(有完整源码)
    目录通讯录管理系统PersonInformation类ContactList类menu函数main函数程序的运行流程完整代码运行示例通讯录管理系统这是一个基于文本的界面程序,用户可以通过命令行与之交互,它使用了CSV文件来存储和读取联系人信息,这使得数据可以持久化保存。此外,程序还提供了一......
  • 通讯录(顺序表的应用)
    文章目录顺序表思想实现通讯录头文件接口函数主函数顺序表思想实现通讯录实现通讯录前,我们考虑一下,通讯录需要包含什么内容?联系人,联系人需要包含姓名年龄电话性别这3种基本信息。我们知道顺序表实质是个数组,如果我们让数组的每个元素都代表一个联系人,每个联系人又......
  • 练手项目层初阶1—《详解静态版本——通讯录管理系统》
    文章目录......
  • 列表嵌套字典实现简单通讯录功能 python
    contacts_list=[]#使用列表来存储字典,每个字典代表一个联系人whileTrue:print('1.增加2.删除break.退出')num=input('请输入选项:')ifnum=='1':name=input('请输入姓名:')phone=input('请输入电话:')......
  • 【数据结构与算法篇】动态顺序表实战项目:通讯录
    【数据结构与算法】动态顺序表实战项目:通讯录......
  • 通讯录改造———文件版本
    上一篇文章我们详细讲了文件操作,这时候我们就可以把通讯录保存到文件中,这样即使程序退出了,联系人的信息也还是保存着,下一次启动程序时我们就可以把文件中的数据读取到程序中来使用。保存首先我们要在退出通讯录之前把联系人的信息都保存到文件中。//退出前存储到文件中voi......