-
Notifications
You must be signed in to change notification settings - Fork 0
/
ContactBook.py
84 lines (72 loc) · 3 KB
/
ContactBook.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
class ContactBook:
def __init__(self):
self.contacts = {}
def add_contact(self, name, phone_number, email, address):
self.contacts[name] = {'phone_number': phone_number, 'email': email, 'address': address}
print(f"Contact {name} added successfully.")
def view_contact_list(self):
print("Contact List:")
for name, details in self.contacts.items():
print(f"Name: {name}, Phone Number: {details['phone_number']}")
def search_contact(self, query):
results = []
for name, details in self.contacts.items():
if query.lower() in name.lower() or query in details['phone_number']:
results.append((name, details))
return results
def update_contact(self, name, phone_number, email, address):
if name in self.contacts:
self.contacts[name] = {'phone_number': phone_number, 'email': email, 'address': address}
print(f"Contact {name} updated successfully.")
else:
print("Contact not found.")
def delete_contact(self, name):
if name in self.contacts:
del self.contacts[name]
print(f"Contact {name} deleted successfully.")
else:
print("Contact not found.")
def main():
contact_book = ContactBook()
while True:
print("\nContact Book Menu:")
print("1. Add Contact")
print("2. View Contact List")
print("3. Search Contact")
print("4. Update Contact")
print("5. Delete Contact")
print("6. Exit")
choice = input("Enter your choice: ")
if choice == '1':
name = input("Enter name: ")
phone_number = input("Enter phone number: ")
email = input("Enter email: ")
address = input("Enter address: ")
contact_book.add_contact(name, phone_number, email, address)
elif choice == '2':
contact_book.view_contact_list()
elif choice == '3':
query = input("Enter name or phone number to search: ")
results = contact_book.search_contact(query)
if results:
print("Search results:")
for name, details in results:
print(f"Name: {name}, Phone Number: {details['phone_number']}")
else:
print("No matching contacts found.")
elif choice == '4':
name = input("Enter name of contact to update: ")
phone_number = input("Enter new phone number: ")
email = input("Enter new email: ")
address = input("Enter new address: ")
contact_book.update_contact(name, phone_number, email, address)
elif choice == '5':
name = input("Enter name of contact to delete: ")
contact_book.delete_contact(name)
elif choice == '6':
print("Exiting Contact Book. Goodbye!")
break
else:
print("Invalid choice. Please try again.")
if __name__ == "__main__":
main()