DSA 01
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()