diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..79ae03a --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "2023-12-04-M4L3-python-containers-wbp", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/python/src/contacts.py b/python/src/contacts.py index 4dce478..e31c157 100644 --- a/python/src/contacts.py +++ b/python/src/contacts.py @@ -1,8 +1,37 @@ def show_contacts(addressbook): - pass + for contact in addressbook: + print('') + print(f"{contact['name']} ({contact['email']}): {contact['phone']}") + print('') def add_contact(addressbook): - pass + name = str(input('Enter name: ')).strip() + phone = str(input('Enter phone: ')).strip() + email = str(input('Enter email: ')).strip() + + new_contact = { + 'name': name, + 'phone': phone, + 'email': email + } + addressbook.append(new_contact) + + print(f"\n{new_contact['name']} was added.\n") def delete_contact(addressbook): - pass + pattern = str(input('Enter a part of their name: ')).strip() + + idx = '' + for i in range(len(addressbook)): + if pattern in addressbook[i]['name']: + idx = int(i) + + if idx == '': + print("\nContact Not found!\n") + return + + deleted_name = addressbook[idx]['name'] + del addressbook[idx] + + print(f"\n{deleted_name} was deleted.\n") + diff --git a/python/src/main.py b/python/src/main.py index 7bd07c8..8c1df7d 100644 --- a/python/src/main.py +++ b/python/src/main.py @@ -1,11 +1,36 @@ import contacts -addressbook = [] +addressbook = [ + { 'name': 'Bruce Wayne', 'phone': '555-123-4567', 'email': 'bruce@wayne.com' }, + { 'name': 'Clark Kent', 'phone': '555-222-3333', 'email': 'clark@dailyplanet.com' }, + { 'name': 'Diana Prince', 'phone': '555-444-5555', 'email': 'diana@amazon.com' } +] def menu(): - pass + print('[1] Display all contacts') + print('[2] Add a new contact') + print('[3] Delete a contact') + print('[4] Exit') def main(): - pass + run = True + while run: + menu() + selection = int(input('Enter a selection: ')) + + match selection: + case 1: + contacts.show_contacts(addressbook) + case 2: + contacts.add_contact(addressbook) + case 3: + contacts.delete_contact(addressbook) + case 4: + run = False + break + case _: + print('\nThat selection is not valid, please try again!\n') + + print('\nGoodbye!\n') main()