python单链表制作通讯录

通讯录具有
输入信息;
显示信息;
查找以姓名作为关键字;
删除信息;
帖子大部分都不是单链表希望能够得到一些参考

这是一个在 Python 中实现的基本的通讯录单链表代码示例,具有输入信息,显示信息,按姓名查找和删除信息的功能。

class Node:
    def __init__(self, name, phone_number):
        self.name = name
        self.phone_number = phone_number
        self.next = None

class ContactList:
    def __init__(self):
        self.head = None
    
    def add_contact(self, name, phone_number):
        new_contact = Node(name, phone_number)
        new_contact.next = self.head
        self.head = new_contact
    
    def display_contacts(self):
        current = self.head
        while current:
            print(current.name + " : " + current.phone_number)
            current = current.next
    
    def search_by_name(self, name):
        current = self.head
        while current:
            if current.name == name:
                return current.phone_number
            current = current.next
        return "联系人未找到"
    
    def delete_contact(self, name):
        current = self.head
        if current and current.name == name:
            self.head = current.next
            return
        while current and current.next:
            if current.next.name == name:
                current.next = current.next.next
                return
            current = current.next
        return "联系人未找到"

您可以使用上面的代码来创建通讯录,添加新的联系人,显示所有联系人,按姓名搜索联系人,并按姓名删除联系人。

# 创建新的通讯录
contacts = ContactList()

# 向列表中添加联系人
contacts.add_contact("张三", "555-555-5555")
contacts.add_contact("李四", "555-555-5556")
contacts.add_contact("王五", "555-555-5557")

# 显示所有联系人
contacts.display_contacts()

# 按姓名搜索联系人
print(contacts.search_by_name("李四"))
#按姓名删除联系人
contacts.delete_contact("王五")

望采纳!