OneCompiler

DSA 01

78

class TelephoneBook:
def init(self):
# Using a Python dictionary as the hash table
self.table = {}

def add_client(self, name, phone_number):
    """Add or update a client in the telephone book."""
    self.table[name] = phone_number
    print(f"Added: {name} -> {phone_number}")

def get_number(self, name):
    """Retrieve the phone number of a client by name."""
    return self.table.get(name, "Client not found")

def delete_client(self, name):
    """Remove a client from the telephone book."""
    if name in self.table:
        del self.table[name]
        print(f"Deleted: {name}")
    else:
        print("Client not found")

def display_all(self):
    """Display all entries in the telephone book."""
    print("Telephone Book Entries:")
    for name, number in self.table.items():
        print(f"{name}: {number}")

-------------------------------

Driver Code

-------------------------------

Create an instance of the telephone book

book = TelephoneBook()

Add clients

book.add_client("Alice", "555-1234")
book.add_client("Bob", "555-5678")
book.add_client("Charlie", "555-9999")

Retrieve a number

print("Charlie's number:", book.get_number("Charlie"))

Delete a client

book.delete_client("Bob")

Display all entries

book.display_all()