diff --git a/python/src/contacts.py b/python/src/contacts.py index 4dce478..caa06d6 100644 --- a/python/src/contacts.py +++ b/python/src/contacts.py @@ -1,8 +1,38 @@ def show_contacts(addressbook): - pass + print('') + for contact in addressbook: + print(f"{contact['name']} ({contact['email']}): {contact['phone']}") + print('') def add_contact(addressbook): - pass + name = input('Enter name: ').strip() + phone = input('Enter phone: ').strip() + email = input('Enter email: ').strip() + + newContact = { + 'name': name, + 'phone': phone, + 'email': email + } + + addressbook.append(newContact) + + print(f'\n{name} was added.\n') def delete_contact(addressbook): - pass + pattern = input('Enter a part of their name: ').strip() + + idx = None + for i in range(len(addressbook)): + if pattern in addressbook[i]['name']: + idx = i + break + + if idx == None: + print('\nContact Not found!\n'); + return + + deletedName = addressbook[idx]['name'] + addressbook.pop(idx) + + print(f'\n{deletedName} was deleted.\n') diff --git a/python/src/main.py b/python/src/main.py index 7bd07c8..3ececed 100644 --- a/python/src/main.py +++ b/python/src/main.py @@ -1,11 +1,51 @@ 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 + def quit(addressbook): + nonlocal run + run = False + run = True + while run: + menu() + selection = int(input('Enter a selection: ')) + + # if selection == 1: + # contacts.show_contacts(addressbook) + # elif selection == 2: + # contacts.add_contact(addressbook) + # elif selection == 3: + # contacts.delete_contact(addressbook) + # elif selection == 4: + # run = False + # else: + # print('\nThat selection is not valid, please try again!\n') + + switch = { + 1: lambda addressbook: contacts.show_contacts(addressbook), + 2: lambda addressbook: contacts.add_contact(addressbook), + 3: lambda addressbook: contacts.delete_contact(addressbook), + 4: quit + } + + if selection in switch: + switch[selection](addressbook) + else: + print('\nThat selection is not valid, please try again!\n') + + print('\nGoodbye!\n') + main()